Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Смещение картинок (QR кодов) при выставлении на печать. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Смещение картинок (QR кодов) при выставлении на печать. (Макросы/Sub)
Смещение картинок (QR кодов) при выставлении на печать.
omon3 Дата: Суббота, 27.02.2016, 19:52 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Проблема очень странная закономерностей пока не нашел. Суть заключается в том что картинки (QR коды) сами по себе съезжают.. ТОЛЬКО при выводе на печать, хотя визуально расположены правильно. QR коды вставляет в excel программа написанная мной на Python. Картинки строго привязаны к определенной ячейке через каждые 30 строк (34, 64, 94...).
Как я делаю:
1)Создаю чистый документ
2)Программой вставляю QR коды, строго привязывая к определенным ячейкам 34, 64, 94 ....
3)Выравниваю область печати макросом:
[vba]
Код

Sub PageBreak()
    r = Int(Range(ActiveSheet.PageSetup.PrintArea).Rows.Count / 62)
    c = Int(Range(ActiveSheet.PageSetup.PrintArea).Columns.Count / 12)
    For i = 1 To r
        Set ActiveSheet.HPageBreaks(i).Location = Range("A" & i * 62 + 1)
    Next i
    For i = 1 To c
        Set ActiveSheet.VPageBreaks(i).Location = Cells(1, i * 12 + 1)
    Next i
End Sub
[/vba]
4) Вставляю из другого документа данные
5)Пытаюсь отправить на печать - и ВСЕ QR коды сползают.
К сообщению приложен файл: qr1.xlsx (89.7 Kb)


Сообщение отредактировал omon3 - Суббота, 27.02.2016, 21:12
 
Ответить
СообщениеПроблема очень странная закономерностей пока не нашел. Суть заключается в том что картинки (QR коды) сами по себе съезжают.. ТОЛЬКО при выводе на печать, хотя визуально расположены правильно. QR коды вставляет в excel программа написанная мной на Python. Картинки строго привязаны к определенной ячейке через каждые 30 строк (34, 64, 94...).
Как я делаю:
1)Создаю чистый документ
2)Программой вставляю QR коды, строго привязывая к определенным ячейкам 34, 64, 94 ....
3)Выравниваю область печати макросом:
[vba]
Код

Sub PageBreak()
    r = Int(Range(ActiveSheet.PageSetup.PrintArea).Rows.Count / 62)
    c = Int(Range(ActiveSheet.PageSetup.PrintArea).Columns.Count / 12)
    For i = 1 To r
        Set ActiveSheet.HPageBreaks(i).Location = Range("A" & i * 62 + 1)
    Next i
    For i = 1 To c
        Set ActiveSheet.VPageBreaks(i).Location = Cells(1, i * 12 + 1)
    Next i
End Sub
[/vba]
4) Вставляю из другого документа данные
5)Пытаюсь отправить на печать - и ВСЕ QR коды сползают.

Автор - omon3
Дата добавления - 27.02.2016 в 19:52
StoTisteg Дата: Суббота, 27.02.2016, 21:35 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1161
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
Это, конечно, костыль, но если съезжают все и одинаково, то может просто учесть это при выравнивании области печати и не мучиться?


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
СообщениеЭто, конечно, костыль, но если съезжают все и одинаково, то может просто учесть это при выравнивании области печати и не мучиться?

Автор - StoTisteg
Дата добавления - 27.02.2016 в 21:35
omon3 Дата: Суббота, 27.02.2016, 23:09 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
то может просто учесть это при выравнивании области печати и не мучиться?

Я кажется понял в чем проблема. Попробую объяснить. Возьмем уже редактированный файл excel с какими то настройками параметров печати.
Я использую для работы с excel библиотеку openpyxl в Python. Она вставляет картинки, привязывая их к определенным ячейкам, НО открывает (как же не просто объяснить то) и работает с документом в своих каких-то параметрах (размерах) страниц, ячеек и.т.д. - скорее всего по умолчанию екселя (те параметры которые заданы если создать новый документ). Открыв, она вставляет картинки с настройками (Правая кнопка мыши по картинке->Размер и свойства->Свойства->Привязка объекта к фону->флажок НЕ перемещать и не изменять размеры) - не перемещать и не изменять размеры. Далее она сохраняет весь документ, но уже с ПОЛЬЗОВАТЕЛЬСКИМИ параметрами. НО у нас то строгая привязка к фону - и все картинки съезжают, как бы мы не редактировали параметры печати. ЕСЛИ же переставить флажок на перемещать и изменять объект вместе с ячейками - все QR коды встанут на свои места.


Сообщение отредактировал omon3 - Суббота, 27.02.2016, 23:15
 
Ответить
Сообщение
то может просто учесть это при выравнивании области печати и не мучиться?

Я кажется понял в чем проблема. Попробую объяснить. Возьмем уже редактированный файл excel с какими то настройками параметров печати.
Я использую для работы с excel библиотеку openpyxl в Python. Она вставляет картинки, привязывая их к определенным ячейкам, НО открывает (как же не просто объяснить то) и работает с документом в своих каких-то параметрах (размерах) страниц, ячеек и.т.д. - скорее всего по умолчанию екселя (те параметры которые заданы если создать новый документ). Открыв, она вставляет картинки с настройками (Правая кнопка мыши по картинке->Размер и свойства->Свойства->Привязка объекта к фону->флажок НЕ перемещать и не изменять размеры) - не перемещать и не изменять размеры. Далее она сохраняет весь документ, но уже с ПОЛЬЗОВАТЕЛЬСКИМИ параметрами. НО у нас то строгая привязка к фону - и все картинки съезжают, как бы мы не редактировали параметры печати. ЕСЛИ же переставить флажок на перемещать и изменять объект вместе с ячейками - все QR коды встанут на свои места.

Автор - omon3
Дата добавления - 27.02.2016 в 23:09
omon3 Дата: Суббота, 27.02.2016, 23:11 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
В связи с этим - можно как то глобально изменить настройки привязки картинок к фону на "перемещать и изменять объект вместе с ячейками"?
 
Ответить
СообщениеВ связи с этим - можно как то глобально изменить настройки привязки картинок к фону на "перемещать и изменять объект вместе с ячейками"?

Автор - omon3
Дата добавления - 27.02.2016 в 23:11
buchlotnik Дата: Воскресенье, 28.02.2016, 00:40 | Сообщение № 5
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
типа того [vba]
Код
Sub move_()

For Each pic In ActiveSheet.Shapes
pic.Placement = xlMoveAndSize
Next
   
End Sub
[/vba]
 
Ответить
Сообщениетипа того [vba]
Код
Sub move_()

For Each pic In ActiveSheet.Shapes
pic.Placement = xlMoveAndSize
Next
   
End Sub
[/vba]

Автор - buchlotnik
Дата добавления - 28.02.2016 в 00:40
omon3 Дата: Воскресенье, 28.02.2016, 01:15 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
типа того

Отлично! Все теперь нормально печатается :)
 
Ответить
Сообщение
типа того

Отлично! Все теперь нормально печатается :)

Автор - omon3
Дата добавления - 28.02.2016 в 01:15
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Смещение картинок (QR кодов) при выставлении на печать. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!