Для этого макрос необходимо подписать.
Вначале нужно создать сертификат. Запускаем программку selfcert.exe из директории MS Office (C:\Program Files\Microsoft Office\Office10\). В поле «Ваше имя» вводим какое-нибудь слово и жмем OK. Все, сертификат создан. Правда, он не подтвержден Micro$oft, но нам этого и не требуется.
Теперь запускаем Word (макрос ExportXML.dot должен находиться в папке Startup). Запускаем редактор Visual Basic (Сервис\Макрос\Редактор Visual Basic). В окошке Project выбираем группу ExportXML.
Затем вызывем команду Tools\Digital Signature. В окошке «Цифровая подпись» жмем кнопку «Выбрать», выбираем сертификат и жмем «OK».
Закрываем редактор, выходим из Word. На запрос, надо ли сохранить изменения в документе ExportXML, отвечаем утвердительно.
При следующем запуске Word сообщит, что файл ExportXML.dot содержит макросы, подписанные автором [имя вашего сертификата]. Ставим галочку напротив «Всегда доверять макросам из данного источника» и жмем ставшую активной кнопку «Не отключать макросы».
Все! При последующих запусках Word будет прилежно запускать ExportXML, не докучая вам запросами.
В меню «Файл» появилось подменю «FictionBook2» содержащее два пункта: «Export as Fictionboок2 xml…» и «Edit Fictionbook2 properties…»
Последний пункт, как нетрудно догадаться, позволяет редактировать описание (description) будущего FB2-файла.
Кнопочки «+» и «-» внизу позволяют соответственно добавлять копии полей или удалять оные. Чтобы отредактировать поле выделите его и нажмите клавишу F2.
Непосредственно экспорт производится предельно просто. Вводим путь и имя файла. Затем макрос предложит заполнить description. При этои можно выбрать кодировку файла (выпадающий список внизу «Export encoding»). По умолчанию текст экспортируется в utf-8.
Макрос нормально обрабатывает полужирный шрифт, курсив, и даже Word-овские сноски. Пытается разбить книгу на секции, что чаще всего получается некоректно.
Например, если название главы, состоит из двух строк, создаются лишние секции. Полученный файл в обязательном порядке требует правки в редакторе FB Editor.
Внимание, картинки, если они есть, не экспортируются!
Макрос позволяет «помочь» ему и выделить некоторые элементы непосредственно в Word.
Для этого в нем есть стили, которые так и называются: Annotation, Cite, Cite Author, Epigraph, Epigraph Author, Poem Title, Stanza.
Если они автоматически не появились в списке стилей после установки макроса, придется каждый раз добавлять их в документ вручную. Для этого файл ExportXML.dot должен быть скопирован в директорию C:\Documents and Settings\Имя текущего пользователя\Application Data\Microsoft\Шаблоны.
Открыв нужный файл, выбираем команду меню Формат\Тема. В появившемся окошке жмем кнопку «Библиотека стилей». В списке стилей выбираем ExportXML и жмем «OK».
Резюме: отвечающий своему назначению, но незаконченный продукт. Использовать рекомендуется лишь в отдельных случаях. Например, для преобразования документов, напичканных сносками.
§ 3.4 doc2fb
Приложение doc2fb предназначено для преобразования в FB2 файлов RTF и M$ Word DOC.
Чтобы утилита могла работать, на ПК должен быть установлен M$ Word 2003. Также должен наличествовать JavaScript версии не ниже 5 (входит в состав IE).
Собственно утилита представляет собой XSL-скрипт и оболочку — HTA-приложение. [3.1]
Интерфейс оболочки прост и понятен. Сразу бросается в глаза, что программка рассчитана на пакетное преобразование. То есть выбрать можно не конкретный файл, а только папку.
Утилита умеет выделять главы и подглавы, жирный шрифт и курсив, сноски и ссылки, а также добавляет картинки.
При этом векторные картинки Word, например, WMF, в итоговый файл не попадают. Растровые картинки, отличные от формата JPEG, преобразуются в PNG.
Меню программки состоит из трех пунктов: «Файлы», «Настройки» и «Инфо»
Пункт «Файлы» позволяет вызвать главную рабочую страницу оболочки (активна сразу после запуска). В строке «Папка» щелкаем кнопку с изображением «>>» и выбираем папку, которая содержит нужные DOC-файлы.
После этого становится активной кнопка «преобразовывать».
Нажимаем ее. Файлы тихо и быстро конвертируются в FB2.
Ход операции отображается в области «Журнал», которая находится под кнопкой «преобразовывать».
Настройки оболочки весьма немногочисленны.
«Показывать MS Word при преобразовании», «Закрывать doc2fb после преобразования», «Удалять пустые строки» — назначение этих опций ясно без дополнительных комментариев.
«Заменять Line-break на Paragraph-break» — заменяет коды принудительные разрывы строки на коды конца абзаца.
Что есть такое принудительный разрыв строки? Обратимся к документации M$ Word.
При вставке принудительного разрыва строки текущая строка обрывается, и текст продолжается на следующей строке. Предположим, например, что стиль абзаца включает в себя отступ перед первой строкой. Чтобы избежать появления отступа перед короткими строками текста (допустим, в написании адреса или в стихотворении), каждый раз, когда нужно начать новую строку, вместо того чтобы нажимать клавишу ENTER, вставляйте принудительный разрыв строки.
Укажите место разрыва строки. Нажмите клавиши SHIFT+ENTER.
«Определять сноски как <регулярное выражение>» и «Определять пояснения как... <регулярное выражение>» — перед конвертацией в FB2 M$ Word преобразует описанное регулярными выражениями в сноски и пояснения.
«Сохранять изменения как версию документа» — в процессе конвертации в документ вносятся изменения. Если опция включена, то эти изменения будут сохранены в документе как версия редактирования.
Бич описанных выше программных средств — излишняя самостоятельность — проявил себя и тут. Стихи с отступами определяются как цитаты, для заголовков в две строчки делаются две секции и т.д.
Как и в ExportXML, чтобы помочь программе найти элементы, документ можно дополнительно разметить. На страничке автора программы можно найти dot-файл с соответствующими стилями. Добавляются они в рабочий файл точно так же, как и стили ExportXML.
Резюме. В целом программа отвечает своему назначению. Несмотря на некоторое своеволие, она позволяет быстро сконвертировать большое количество файлов.
§ 3.5 Перенос через буфер обмена
Простой, но незаслуженно игнорируемый способ. Он, как нетрудно понять, заключается в выделении фрагмента текста, или же текста целиком, копировании его в буфер обмена Windows, и последующей вставке в FB Editor.
Копирование через буфер обмена, как правило, сохраняет форматирование текста, в частности жирный и курсивный шрифт.
Таким образом можно переносить тексты из MS Word, Интернет-браузера. Не обременяя машину дополнительными программными пакетами и dll-ками.
Кроме того, при таком способе конвертирования наиболее удобно использовать заготовки-шаблоны, с частично заполненным description.
Разумеется, затем текст надо полностью структурировать вручную. Но, по моему скромному мнению, гораздо удобнее структурировать файл «с нуля», чем исправлять огрехи программы конвертирования.
Недостаток у переноса через буфер, кроме повышенных временных затрат на структурирование, в общем-то один — некорректная обработка форматирования исходного документа. Чаще всего пропадают пустые строки. Сдвоенные пустые строки превращаются в одинарные в девяти случаях из десяти. Еще при этом в выходной документ могут попасть нежелательные элементы, например, картинки, (редакторы FB2 не поддерживают вставку картинок из буфера, там работа с ними организована совершенно по-другому) которые потом приходится вычищать.