Microsoft Word 2000

Booklet macro 2000 v1.2

© Boris Zulin , 1999-2001

Макрос печати документов в виде брошюры или книги

Дождались?!

Погоне за названиями
с круглыми цифрами
посвящается…

Данный макрос предназначен для печати буклетов (методических пособий, технической документации) из MS Word 2000. Печать производится в два прохода: сначала обратная сторона, затем лицевая. Страницы автоматически компонуются в нужном порядке на листе и в документе в целом. При необходимости производится автоматическое масштабирование A4–A5 (т.е. можете распечатывать документы без изменения формата). Вам нужно только вставить пачку бумаги в принтер, запустить макрос, затем, после печати одной стороны, вставить эту же пачку опять в принтер для печати другой стороны. Затем согнуть и сшить. Никакой перекомпоновки не требуется. Нет ограничений на использование таблиц, встроенных объектов, методов привязки объектов, размер листа. При браке печати есть возможность повторно распечатать отдельные страницы (диапазон). Для печати используется новая возможность MS Word 2000 масштабирования документов для печати нескольких страниц на одной. Ниже рассмотрены различные методы печати брошюр, рекомендации по установке макроса, использованию и печати.

 

Варианты печати брошюр из MS Office

  1. Составление таблиц и перенос постранично текста в ячейки таблицы. Этот метод может быть эффективным при печати только текста без таблиц, графики, привязанной к листу. Недостатки: для внесения исправлений необходимо редакти­ровать исходный текст, а затем опять генерировать таблицу. Могут возникнуть проблемы с графическими объектами, колонтитулами и нумерацией страниц.
  2. Метод форматирования страницы. Создаём документ с аль­бомным форматированием страницы, задаём левый отступ, включающий в себя собственно левый отступ на одной странице A5 и ширину страницы A5, т.е. делим альбомную страницу A4 пополам и набираем документ в правой половине. Затем печатаем все нечётные страницы до середины документа, переворачиваем листы, печатаем все нечётные страницы с середины до конца документа. Изменяем левый и правый отступ таким образом, что пустая страница располагается в правой части листа. Печатаем сначала вторую половину чётных страниц на лицевой стороне, затем первую половину чётных страниц на обратной.  Печать чётных страниц производится при включённой опции «печать в обратном порядке». Сохраняется нумерация страниц, графические объекты, колонти­тулы и номера страниц. Недостатки: Печать в четыре прохода может вызвать неудобства при компоновке бумаги – чем больше проходов, тем больше вероятность ошибки. При создании документа необходимо следить за тем, что бы графические элементы имели привязку к колонке, а не к странице, иначе будет нарушено расположение текста при изменении левого и правого полей на листе.
  3. Для печати брошюры можно использовать программы сторонних разработчиков, например ClickBook фирмы BlueSquirrel. Данная программа устанавливается как драйвер принтера и перехватывает вывод на печать, компонует страницы, масштабирует их и передаёт далее драйверу принтера. Достоинства: т.к. перехватывается обращение к драйверу принтера, печатать можно из любых приложений Windows. Присутствует функция предварительного просмотра. Большой набор предопределённых параметров компоновки брошюр. Недостатки: эту программу нужно найти, затем купить через интернет… У неё только английский интерфейс. Пробная версия не годится для нормальной печати, т.к. печатает также свою информацию. (см. также http://fineprint.chat.ru/ и http://www.zeno.com/Products/SuperPrint/Default.asp)
  4. Очень хороший модуль масштабирования и компоновки листов при печати встроен в драйвер для Windows 9x широкого цветного струйного принтера Hewlett Packard DeskJet 1120C. Печатает всё. В автоматическом режиме. Отличные подсказки, анимация, предварительный просмотр, хорошая локализация… Очень похоже на ClickBook, только доведено до ума, локализовано и бессбойно (вероятно, из-за жесткой привязки к принтеру и драйверу). Мне подсказывают, что аналогичной возможностью обладает драйвер для Windows 9x лазерного принтера фирмы Minolta. Недостатки: нужно купить принтер :). Кроме того, если замнётся лист или пользователь вставит бумагу задом наперед при печати второй стороны – долго будете напрягать воображение для печати ТОЛЬКО испорченных листов.
  5. Можно использовать MS Office 2000 и макрос, который описывает данный документ. Вы набираете документ в привычном для вас виде, с картинками, таблицами, колонтитулами и номерами страниц, привязкой объектов к странице или колонке. Затем макрос, используя новую функцию MS Word 2000 масштабирования при печати, создаёт комбинации страниц и посылает их на печать. Масштабирование позволяет выводить на печать как листы формата A5, так и листы формата A4, т.е. вам не придётся переделывать готовые документы. Печать происходит в два прохода – сначала тыльная сторона, затем лицевая. Вам остаётся только согнуть и сшить полученную брошюру (если она состоит из нескольких блоков, то вам придётся сгибать и сшивать листы сначала в каждом блоке, затем сшить/склеить блоки вместе). Недостатки: количество страниц должно быть кратным четырём. Это обусловлено тем, что на каждый лист размещается четыре страницы, причём одновременно берутся страницы, как с начала, так и с конца документа. Второе ограничение – для поддержки печати выборочных страниц введена компоновка из списка страниц, что потребовало создание внутреннего списка номеров, отсюда ограничение – номер первой страницы должен быть больше нуля, а остальная нумерация страниц во всех разделах должна быть непрерывной, что собственно, соответствует большинству документов. Нет режима предварительного просмотра (в драйвера последних версий производители помещают специальную опцию – предварительный просмотр перед печатью. Просмотрите внимательно настройки драйвера Вашего принтера, вероятно, что недостаток макроса будет компенсирован возможностями драйвера). И главная проблема – ошибки MS Word (драйвера, Windows) при масштабировании. Были опробованы Windows 98 и Windows NT/2000, принтеры как матричный (Epson LQ 1070), так и струйный (HP DJ 970Cxi) – в каждом случае наблюдались искажения документа при печати: буквы «плавали» в строке, подчеркивание, формулы и жирный курсив «падали» на строку ниже. Для тестирования своей системы/драйвера проведите следующий эксперимент (без участия макроса): возьмите готовый документ в формате А4, вызовите операцию печати (Файл/Печать), в диалоге в строке «Страницы/номера:» укажите через запятую номера любых двух страниц документа, в списке «Масштаб/число страниц на листе:» выберите «2 страницы», при этом в настройках принтера должен быть указан формат бумаги А4. Напечатайте. Если печать прошла без искажений – можете смело использовать макрос для печати любых документов (А4 и А5) в виде брошюры, если искажения есть, то Вам остаётся лишь ожидать очередные сервис паки для MS Windows/MS Office/драйвера принтера. При ручном масштабировании (или создании нового документа) в формат А5 с последующей печатью, подобных «глюков» замечено не было. (v1.2) Эта проблема описана в технической библиотеке (WD2000: Using Pages Per Sheet Prints Incorrect Paper Size) на сервере Microsoft. Решается заданием по умолчанию одинакового размера листа как в редакторе, так и в настройках драйвера принтера. См. также Q245025 - OFF2000 How to Obtain and Install the Microsoft Office 2000 SR-1-SR-1a Update, Q245021 - OFF2000 List of Fixed Problems in Microsoft Office 2000 Service Release 1-1a (SR-1-SR-1a), Q276257 - OFF2000 List of Issues Fixed in Office 2000 Service Pack 2.

Установка макроса

Для установки макроса скопируйте шаблон Booklet2000.dot в папку C:\Program Files\Microsoft Office\Office\Startup\

Замечание: в Windows NT и Windows 2000 при установке в раздел с файловой системой NTFS Вы должны обладать правами администратора.

Наличие шаблона с макросом можно персонализировать, если использовать путь размещения шаблона автозагрузки пользователя.

 В однопользовательском режиме Windows 9x:

C:\WINDOWS\Application Data\Microsoft\Word\STARTUP

В многопользовательском режиме Windows 9x:

C:\WINDOWS\Profiles\ Имя Пользователя\Application Data\Microsoft\Word\STARTUP

В Windows NT:

C:\WINNT\Profiles\Имя Пользователя\Application Data\Microsoft\Word\STARTUP

В Windows 2000:

C:\Documents and Settings\Имя Пользователя \Application Data\Microsoft\Word\STARTUP

Если Вы хотите, чтобы у всех вновь регистрируемых пользователей макрос был установлен автоматически, то скопируйте в папку, используемую для автоматической настройки профиля нового пользователя и пользователя «Гость». По умолчанию это папка «Default User» в папке профилей (с установленным атрибутом «скрытая»), т.е. в выше указанных шаблонах используйте вместо «Имя Пользователя» «Default User» без кавычек.

Замечание: Использованы том и путь, задаваемые по умолчанию при установке системы и MS Office. Если Вы просматривали код макроса или редактировали, то перед записью и использованием его нужно откомпилировать в среде VBA (Debug/ Compile Project). Настройки безопасности могут запрещать работу с макросами (см. Сервис/ Макрос/ Безопасность). 

Предупреждение: перед запуском и копированием шаблона в папку назначения и открытием руководства обязательно проверьте его антивирусной программой.

При последующем запуске MS Word появится панелька с кнопкой Booklet 2000 и пункт меню «Печать буклета…» в меню Файл, при нажатии на которые будет вызываться диалоговое окно макроса печати. При редком использовании макроса панель можно скрыть (подвести курсор мыши в область панели, нажать правую кнопку мыши для отображения локального меню, затем убрать «галочку» напротив панели Booklet 2000).

 

Рекомендации к использованию макроса

Перед использованием макроса желательно подготовить документ к печати. Документ должен быть вычитан, произведена проверка на ошибки, не должно быть «висячих» и «жидких» абзацев, отступы страницы не должны превышать пределы границ печати принтера. Количество страниц должно быть кратным четырём (по две страницы на лист с каждой стороны). Если страниц не хватает, можно несколько расширить отступы перед главами, таблицами, графическими объектами, добавить в конце документа страницу для заметок. Для добавления страницы поместите курсор в конец документа и нажмите Ctrl+Enter для вставки разрыва страницы. Это действие можно произвести также с помощью меню: Вставка/Разрыв/Вставить новую страницу). Если необходимо уменьшить объём документа на страницу, можно воспользоваться встроенной возможностью MS Word (см. «Сервис/Настройка/Команды/Сервис/Сократить на страницу»). Можно сократить на страницу и вручную: уменьшить межстрочный интервал (множитель 0,8—0,95), уменьшить отступы вокруг заголовков, таблиц, графических объектов, сократить текст, изложив смысл более лаконично, также можно уменьшить размер больших объектов.

Макрос вызывается нажатием на кнопку с изображением брошюры.

Теперь рассмотрим элементы управления диалогового окна (формы макроса):

В заголовке формы указывается имя печатаемого документа и текущий принтер. Если имя документа слишком велико, эта же информация выводится при наведении курсора мыши на кнопку «Печать».

Левый столбец:

Правый столбец:

Рекомендации к печати

При использовании принтеров с точной подачей документа (лазерных и струйных) обычно не возникает каких-либо проблем при печати. Следует помнить, что у некоторых принтеров минимальный не пропечатываемый отступ в конце листа 1,3—1,8 см. Поэтому наружный отступ (поля) при разметке страницы документа для таких принтеров рекомендуется устанавливать 2 см. Такой отступ необходим еще и для того, чтобы обрезать края «гильотиной» (типографским ножом для резки бумаги). Если брошюра получается довольно толстая, то после сшивания, листы, расположенные ближе к центру, выступают за края обложки, и их необходимо обрезать для того, чтобы придать брошюре презентабельный вид. Внутренний отступ страницы можно устанавливать около 1 см. Если нет желания вымерять и высчитывать внутренний и наружный край – установите все отступы в 1,5 см.

При печати на матричном принтере может возникнуть проблема позиционирования листа. Эта ситуация возникает из-за того, что многие матричные принтеры загружают бумагу не встык к головке, а с некоторым прогоном, чтобы часть (~1 см) бумаги была уже под печатающей головкой для предотвращения замятия бумаги при движении печатающей головки. В этом случае возни с печатью будет несколько больше. Установите левый отступ на сантиметр (или подобранное экспериментально значение) меньше, а правый соответственно больше, а затем уже можно начинать печать. Для точной установки размера сдвига отступа можно воспользоваться следующим методом: создайте документ с размером листа A5 из четырёх страниц. Затем включите опцию «Сервис/ Параметры/ Вид/ Границы текста» для отображения границ. Установите отступы 1,5х1,5х1,5х1,5 см. В режиме рисования на каждой странице создайте прямоугольник, края которого должны совпадать с границами отступов. Произведите двустороннюю печать. При просмотре на просвет измеряется разница в сдвиге прямоугольников на разных сторонах листа. Половина этого расстояния – искомая величина.

Было замечено, что при интенсивной нагрузке машины (редактирование графики, обработка звука, работа с большими объёмами текста, игры) печать может происходить с ошибками (смещение текста внутри таблиц, печать разреженным шрифтом, смещение символов в формулах…). Для того, чтобы избежать подобных ситуаций, перед выводом документов на печать рекомендуется перегрузить систему.

Хочу напомнить, что при изменении масштаба страниц A5 à  A4 применяется коэффициент 1,4 (140%, ), соответственно стандартный для A5 10 размер шрифта заменяется 14 размером (стандартный для документов в формате A4), объекты увеличиваются до размера 140%. При обратном масштабировании следует применять коэффициент 0,7 (70%, ).

Подготовка документа при установленном по умолчанию драйвере принтера одного типа с последующей печатью на другой машине и/или с использованием другого драйвера может вызвать проблемы – текст может «поплыть». Для предотвращения проблем такого типа окончательную вёрстку/правку необходимо производить, когда по умолчанию установлен драйвер того принтера, на который будет производиться вывод. Т.е. перед распечаткой документа обязательно пролистайте его и убедитесь, что все объекты и абзацы находятся на своих местах, особенно если в документе применяются символы разрыва страниц, колонок и разделов.

Следование ряду несложных правил поможет Вам сэкономить много времени, нервов, тонера, бумаги и денег.

 

История возникновения

С появлением компьютеров и компьютерной документации возникла необходимость её распечатки. Первоначально тексты (чаще всего) печатались форматом A4, а затем сшивались в тома. Со временем возникла необходимость в создании аккуратных брошюр, благо техника совершенствовалась, и появлялись программы для компоновки листов. Наиболее полно подобные программы были представлены электронным бюллетенем "Софтпанорама", выходящего синхронно с проведением одноимённой конференции, которая проходила в Киеве и Москве, и объединяла (известных, ведущих, талантливых, любознательных, продвинутых J) системных программистов Советского Союза. Лидером редакторов для DOS (в текстовом режиме экрана) был MultiEdit, который обладает возможностями программирования (встроены Си-подобный и Паскаль-подобный макроязыки)

С появлением редакторов для Windows, позволяющих работать с текстами в графическом режиме, продолжились попытки создания удобного инструмента двусторонней печати документов. Существует большое количество специализированных пакетов для вёрстки документов, но в офисах, учебных и научных заведениях чаще всего используют MS Word, тем более, что при сборке компьютеров для учреждений, фирмы устанавливают на них OEM версии Windows и Office.

Сейчас можно найти некоторое количество макросов печати в интернете, но чаще всего они обладают рядом недостатков - платные, без исходных кодов, не локализованы, не реализованы необходимые в работе возможности (и настройки). Увидев лежащую на поверхности (в настройках печати MS Word) функцию масштабирования и печати нескольких листов на одном (может, и в предыдущих версиях было, но хорошо запрятано), подумалось - а чем мы хуже? Вот так и родился этот продукт. В версии 1.1 добавлена поддержка помощника и проведены косметические доработки. В версии 1.2 исправлены некоторые ошибки, добавлено сохранение некоторых настроек в реестре, возможность автоматической сборки брошюры при печати на принтерах с различной подачей документов (печатаемая страница выдаётся к или от стопки бумаги в лотке-приёмнике), оптимизирован алгоритм, добавлены комментарии и ссылки на документацию.

 

Замечания: этот макрос не подвержен проблеме 2000 года J. (когда это было L...)
Не содержит деструктивных команд для операционной системы, приложений и документов. Не производит запись на диск. Единственная кнопка, самостоятельно изменяющая документ – «Установить формат A5».

Макрос тестировался в работе с MS Office 2000 (расширенный) и той же версией с установленным сервис паком (9.0.3821 SR1). Наверняка он будет работать еще лучше со следующей версией MS Office (если понадобится и версия подобного макроса не будет включена в него штатно). J

Макрос поставляется «как есть», причём совершенно свободно в случае дальнейшего личного использования и бесплатного распространения. Макрос также может свободно (бесплатно) использоваться в государственных учебных, научных и медицинских учреждениях, организациях инвалидов. Использование макроса в остальных учреждениях возможен только при согласовании с автором. 

Если вдруг при работе макроса возникли какие-либо проблемы, эти проблемы остаются Вашими проблемами. Ответственность за них никто не несёт. Никто также не несёт ответственности, если этот шаблон не соответствует Ваши требованиям и не выполняет все нужные Вам функции. Если Вам не понравится работа макроса или Вы не согласны с изложенными выше замечаниями – удалите этот шаблон.

Проект VBA НЕ ЗАЩИЩЁН от просмотра и изменения. Кроме того, проект VBA максимально комментирован для изучения. (Для просмотра кода необходимо загрузить проект как обычный документ)

Автор не возражает против помощи по качественному переводу документации и проекта на другие языки.

При возникновении предложений с революционными изменениями макроса, а также благодарностей – пишите письма.

 

Борис Зулин



Сайт создан в системе uCoz