|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.02.2015, 16:52 | #1 |
Участник клуба
Регистрация: 14.06.2011
Сообщений: 1,138
|
Переформатирование листа для печати на нескольких страницах.
Мне бы просто словесное описание, что надо делать, а то не могу понять, как приступиться.
В общем есть изначальный лист с шапкой, основной таблицей и подвалом. Этот исходный лист надо подготовить для печати, т.е. разбить на несколько страниц. На каждой их них шапка и подвал остаются неизменными, меняется лишь содержание таблицы. Все бы ничего, но высота строки таблицы не статична, а подгоняется под содержание. Гарантируется лишь одно - в рабочую таблицу на каждом листе влезает как минимум одна строка и строка не может быть выше отведенного места под таблицу с данными. Высоты строчек я подсчитал. А что дальше - смутно, смутно... |
16.02.2015, 17:15 | #2 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Шапка: параметры страницы - лист - сквозные строки. Или верхний колонтитул.
Подвал: создайте нижний колонтитул.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
16.02.2015, 17:21 | #3 |
Участник клуба
Регистрация: 14.06.2011
Сообщений: 1,138
|
т.е. можно назначить строки в листе как подвал и шапку соответственно?
Мне это дело надо в макросе обработать. Чтоб ячейка не разрывалась на середине, а переносилась на следующий лист, если не влазит. И подсчитать количество получившихся печатных страниц. Последний раз редактировалось Smogg; 16.02.2015 в 17:32. |
16.02.2015, 18:59 | #4 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Сквозные строки как шапку - можно, как подвал - нет, поэтому я и предлагаю подвал сделать колонтитулом.
Программа позаботится о том, чтобы ячейки не разрывались. Число страниц Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
19.02.2015, 16:56 | #5 | ||
Участник клуба
Регистрация: 14.06.2011
Сообщений: 1,138
|
Цитата:
Логика макроса такая - из данных создается книга из нескольких листов. По завершению работы эти листы открываются в режиме предпросмотра. Получается документ по ссылке - http://rghost.ru/8PpxpWrBS Шапка, как договорились, будет копироваться на каждую страницу. Устанавливается как сквозные строки. Тот блок, который про реквизиты руководителя и бухгалтера желательно печатать в самом конце один раз, но без разрывов, т.е. на одной странице. А если на одной странице, то мне кажется, что надо бы хотя бы одну строчку из данных перенести на последнюю страницу. Т.е. разрыв страницы будет на строке "Услуги редактирования". Т.е. как мне узнать, когда надо принудительно ставить разрыв страницы на предпоследней строчке таблицы, а когда нет, ибо реквизиты руководителей и так умещаются? Надо открыть в предпросмотре, закрыть, определить, где получились разрывы страниц, и в зависимости от результата поставить или нет свой ручной разрыв? И надо, чтоб в конце открылся итоговый документ в предпросмотре. Сейчас предпросмотр открывается так: Код:
Ps: Вижу лишь решение костылем - подсчитать вручную сколько по высоте места остается для таблицы на одной странице, и если получившаяся таблица не состыкуется с этой константой, то соответственно вставлять разрыв. Но это костыль, константа зависит как минимум от высоты шрифта, а конкретнее - высоты строк в шаблоне бланка... Зыы: с превью разобрался) Цитата:
Поэтому лишь костыль через константу (( Последний раз редактировалось Smogg; 19.02.2015 в 18:01. |
||
19.02.2015, 18:32 | #6 | |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
Цитата:
у каждого элемента есть .Location.Row если ОБЯЗАТЕЛЬНО нужно напечатать на одной странице допустим строки c 85 по 93 а один из Location.Row оказался в этом интервале, допустим = 90 это значит, что часть строк будет на одной странице, а часть на след. вставте принудительный разрыв страницы перед 85 строкой и готово ActiveSheet.HPageBreaks.Add Before:=Cells(85,1)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
|
19.02.2015, 19:45 | #7 |
Участник клуба
Регистрация: 14.06.2011
Сообщений: 1,138
|
|
19.02.2015, 20:32 | #8 | |
Участник клуба
Регистрация: 14.06.2011
Сообщений: 1,138
|
Цитата:
Сначала надо так: Код:
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Копирование таблицы на нескольких страницах Word в PowerPoint | Andemki | Microsoft Office Word | 0 | 08.10.2012 18:49 |
Ориентация листа при печати формы в Excel | VictorM | Microsoft Office Excel | 4 | 19.07.2012 13:59 |
Программа для отслеживания изменений в веб страницах | Kasim89 | Фриланс | 1 | 29.04.2012 15:29 |
при печати листа не печатать расположенные на ней кнопки ActiveX | roborrr | Microsoft Office Excel | 2 | 27.10.2011 12:00 |
Разные колонтитулы на двух страницах одного листа | Dorvir | Microsoft Office Excel | 1 | 14.06.2008 12:25 |