Пакетная замена текста в документах word

Обновлено: 03.07.2024

Время от времени пользователям редактора Word требуется изменить что-то (текст, форматирование) сразу в нескольких документах, без необходимости работы с каждым документом по отдельности. В качестве примера могу привести Макрос пакетной замены, с помощью которого возможно искать и менять какой-то единый текст во многих документах одновременно.

И вот недавно ко мне обратился Дмитрий с просьбой помочь ему в аналогичной ситуации. Он спрашивал:

Дано очень много файлов формата rtf и doc. Необходимо их отформатировать разом, не открывая каждый в отдельности, а именно: изменить во всех размер шрифта на 12, поставить абзацы 1.25, сделать times new roman, изменить поля, покрасить текст в черный, интервал одинарный. Помогите, пожалуйста!

Я предложил Дмитрию воспользоваться следующим макросом (см. код ниже). Но затем подумал, что пользователям наверное было бы удобнее использовать специальную форму для выбора необходимых параметров форматирования текста, нежели копаться в коде макроса и менять эти параметры вручную.

Обновлено 25.03.2010г.. Александр Витер внес исправления в шаблон, чтобы в новых версиях ОС Windows не выскакивали ошибки.

Я разработал такую форму и включил ее в шаблон. Шаблон (предназначенный для редактора Word 2003) имеет дополнительную панель инструментов с кнопкой "Массовое форматирование документов":

Чтобы иметь возможность подключать эту форму (шаблон) только тогда, когда это необходимо, вам нужно будет разместить файл шаблона (batchFormatDocs.dot) в стандартную папку с шаблонами Word:

C:\Documents and Settings\ИМЯ_ПОЛЬЗОВАТЕЛЯ\Application Data\Microsoft\Шаблоны\.

Как только форма становится нужна, вы открываете меню Сервис, выбираете команду Шаблоны и надстройки и в открывшемся окне нажимаете кнопку Добавить:

Откроется стандартное окно выбора файлов, в котором вы должны найти файл шаблона (если вы добавили его в папку с шаблонами, как описано выше) и выбрать его. В результате шаблон появится в окне и будет доступен:

Форма простая и содержит лишь некоторые параметры форматирования. Я не сторонник ручного форматирования текста - лучше и правильнее создать соответствующие стили. Но иногда это невозможно и проще (быстрее) форматировать документ по-старинке.

В общем виде форма выглядит так:

Вводите значения в соответствующие поля, выбирайте параметры из полей списков и нажимайте кнопку Применить.

Когда вы закончите работу по форматированию, вы можете выгрузить шаблон. Для этого достаточно снять флажок с имени шаблона в окне Шаблоны и надстройки.

Напоминаю, что шаблон позволяет произвести форматирование текста во многих документах одновременно (без открытия этих документов). Будут отформатированы документы с расширениями doc, rtf и docx, находящиеся в одной папке (а если отмечен флажок "Включая подпапки", то и в дочерних). Процесс форматирования скрыт от пользователя, но по окончании выскочит окошко с уведомлением о завершении процесса форматирования.

Код макроса по параметрам Дмитрия:

Вы можете помочь в развитии сайта, сделав пожертвование:

--> Или помочь сайту популярной криптовалютой:

BTC Адрес: 1Pi3a4c6sJPbfF2sSYR2noy61DMBkncSTQ

ETH Адрес: 0x7d046a6eaa1bd712f7a6937b042e9eee4998f634

LTC Адрес: LUyT9HtGjtDyLDyEbLJZ8WZWGYUr537qbZ

USDT (ERC-20) Адрес: 0x7d046a6eaa1bd712f7a6937b042e9eee4998f634

Яндекс Деньги: 410013576807538

А тут весь список наших разных крипто адресов, может какой добрый человек пожертвует немного монет или токенов - получит плюсик в карму от нас :) Благо Дарим, за любую помощь! -->

Иногда возникает необходимость заменить определенный кусок текста в нескольких документах: например, сменить пути установки в серии конфигурационных файлов или быстро изменить оформление в серии каких-нибудь договоров и т. д. Конечно, можно открыть каждый файл в редакторе, произвести поиск и замену штатными средствами; но если этих файлов больше десятка, то ручная работа становится весьма нудной, а если их больше полусотни, то это просто трата времени. Для решения таких задач есть специальные программы-автоматизаторы, три из которых - RQ Search and Replace, MultiReplace и @Text Replacer - будут рассмотрены в этом обзоре. Каждая из них имеет разные возможности и, в общем-то, разную область применения.

@Text Replacer

На вкладке "Текст и расположение" надо указать путь к файлу или файлам (допускаются стандартные подстановочные символы * и ?), что заменять и на что заменять. Флажок "Просмотреть вложенные папки" позволяет произвести замену не только в указанной папке, но и во всех ее подпапках. На вкладке "Дополнительно" можно указать игнорируемые символы (полезно, если текст разбит символами конца строки, например тексты с lib.ru, или между словами стоит больше одного пробела), установить классическую опцию "Учитывать регистр" и ввести путь к файлу, где будет сохранен отчет о переименовании.

После выставления всех опций и нажатия кнопок "Заменить" или "Найти" программа выдаст список обработанных файлов внизу основного окна. Форму выдачи результатов можно изменить в меню "Вид" - любой вариант из стандартных "Список", "Таблица" и т. д. К сожалению, какой бы пункт вы ни выбрали – программа выдаст только перечень файлов, а не искомые места в них. Впрочем, вооружившись любым просмотрщиком текста (например, встроенным в Total Commander), в них легко можно отыскать нужные строки.

Замечание: хотя @Text Replacer не поддерживает нестандартные методы замены, наподобие "Вставить Б между А и В", это не значит, что обязательно нужна другая программа. Того же эффекта можно добиться, заменив строчку "А В" на "А Б В"; то же самое касается удаления выбранного текста и вставки до и после указанного отрывка. Выделение таких действий в отдельную функцию оправдано при больших кусках для правки, тогда это экономит время.

Multi Replace

Программа Multi Replace предоставлена компанией Alphynsoftware. Основные поля в программе такие же, как и в предыдущей, – путь поиска, окно исходного текста и текста для замены, но эта утилита заметно функциональней @Text Replacer. Существует две версии программы, незначительно отличающиеся друг от друга, – Lite ($19,95) и Pro ($29,95). Пробная версия полнофункциональна, но ограничена 15 днями.

Среди преимуществ можно отметить более мощную работу с подстановочными символами – разрешается задача диапазона символов через [a-z] и отмена служебных символов при помощи обратного слеша – "". (То есть комбинацией "*" можно задать поиск в тексте именно символа *, а не любого символа.)

Очень удобен флаг "Помещать результаты в новую директорию", особенно в случае, когда нужно произвести несколько пакетных замен подряд на каком-нибудь бланке. Также можно выбрать типы файлов, которые будут (или напротив – не будут) учитываться при поиске или замене. Что приятно, некоторые из наиболее часто используемых расширений уже указаны в выпадающем меню. Используя кнопки "+" и "-", можно добавлять или удалять их (только в Pro).

Флаг "Многострочный текст" аналогичен флагу "Игнорировать конец строки" в @Text Replacer. Имейте в виду, что в режиме многострочного текста нельзя применить отмену спецсимвола при помощи знака ""!

Групповая замена позволяет задать выполнение нескольких замен одновременно. При наличии большого количества файлов это поможет сэкономить время, равно как и флаг "Экспресс-замена" (выполнение всех замен только с одним запросом).

Среди функций также стоит отметить "Авторезервирование", которое создает копии изменяемых программой файлов. Выполняя автозамену для важных документов, особенно такую, которую нельзя совершить в обратную сторону, будет нелишним поставить этот флажок. Копии будут храниться в папке Backup в директории программы.

Часто случается, что нужно произвести замену несколько сложнее, чем А на Б. Например, нужно вставить в текст отчество между именем и фамилией или просто удалить некоторые куски текста. В таком случае справа от опций можно выбрать нестандартный способ замены.

Все параметры программы можно использовать и для дальнейшей работы с автозаменой, используя иконки "Сохранить параметры замены" и "Загрузить параметры замены" (Только в Pro).

RQ Search&Replace

RQ Search&Replace от MiraSoftware - самая мощная из всех трех программ. Кроме стандартного алгоритма поиска и замены файлов содержит в себе множество дополнительных функций. Демонстрационная версия позволяет обрабатывать или только один файл, или несколько файлов, но не больше 8 килобайт каждый. Выбор можно сделать непосредственно во время работы программы из меню "Помощь". Стоимость полнофункциональной версии – $19.

Основной принцип работы – задание различных правил обработки текста в специальной таблице, содержимое текущего ее ряда отображается в окнах Find what и Replace with. Если программа развернута на полный экран, то внизу появляется детальный лог, содержащий все совершенные программой операции.

  • блок - любой массив данных;
  • строка - массив данных до разрыва строки;
  • слово целиком - массив данных, отделенный пробелами;
  • блок, заключенный в. - все символы между А и Б;
  • MSWord - вызывает отдельное диалоговое окно, в котором можно настроить замену, используя все функции одноименного окна Word, включая спецсимволы;
  • HTML-тег - позволяет удалить теги (вместе с парными закрывающими, что удобно) или модифицировать их: например, заменить аргумент или перевести написание в другой регистр.

Меню "Таблица" дублирует все вышеупомянутые функции, позволяя установить их сразу для нескольких строк.

Из меню "Проект" можно сохранять и загружать параметры поиска и замены, как и в Multi Replace.

В меню "Кодировка" можно указать кодировку, которая будет принята по умолчанию при обработке. Программа умеет работать с Win1251, koi8, DOS-кодировками, а также с UTF8, отдельно вынесенном в меню "Опции".

В следующем пункте – "Просматривать в виде" - можно выбрать способ интерпретации текста в окне предпросмотра. Программа понимает не только обычный plain text, но и RTF, и HTML. (Удобно для редактирования архива веб-страниц, где строки разбиты тегами.)

Меню "Операции" содержит несколько дополнительных алгоритмов, на которых стоит остановиться поподробнее.

Создать индекс-файл. Работает правильно, только если подсветить в окне выбора файлов .html страницы. Создает файл со ссылками на каждую из страниц. Файл получается абсолютно без всякого оформления, поэтому сгодится или в качестве основы для нормального индекса, или же для внутреннего использования при каталогизации сохраненных веб-страниц.

Text-HTML. Функция, превращающая текст в HTML-страницу. Несмотря на то что мусорного кода операция эта практически не добавляет, для русскоязычного пользователя она абсолютно бесполезна: получившийся из кириллического текста файл с символами вида "’e7" не смогла прочитать ни одна программа, включая саму Search&Replace. С файлами на европейских языках все ОК.

HTML-Text. Производит обратное действие (в этом направлении кириллица обрабатывается нормально), но зачем это нужно – не очень понятно, ведь того же самого можно добиться, просто-напросто выделив текст в любом браузере.

Удалить файлы нулевого размера. Название функции говорит само за себя. Удаляет все пустые файлы из выбранной папки. Можно запускать в конце работы, чтобы удалить файлы, чье содержимое уже было очищено.

Заменить символы 0-31. Символы с кодами 0-31 в коде ASCII считаются управляющими, и иногда может потребоваться очистить от них текст (например, убрать лишние переводы строки), для чего и предназначена эта операция.

В меню "Настройки" можно поменять цветовую гамму утилиты, а также указать случаи, в которых программа будет запрашивать подтверждения действий.

Меню "Копии" и "История папок" дают пользователю гибкие возможности по управлению резервными копиями измененных файлов без необходимости пользоваться файл-менеджером.

Итоговое сравнение

@Text Replacer

Плюсы: низкая стоимость, простота в освоении.

Минусы: ограниченное удобство использования, низкая функциональность.

MultiReplace

Плюсы: удобный и понятный интерфейс, богатый набор фунцкий.

Минусы: из всех представленных программ – самая дорогая, даже Lite.

RQ Search & Replace

Плюсы: огромный набор функций, дополнительные операции, детальный лог всех действий, хорошая цена.

Минусы: несколько громоздкий интерфейс, простые действия занимают больше времени, чем в других программах.

Выводы

Имеется большое количество документов Word или Excel и в каждом документе нужно изменить несколько фраз. В каждом документе через замену (Найти и заменить ) это слишком долго.

    Вариант с использованием макроса

a) для Microsoft Excel:
Скопировать макрос в папку с файлами, запустить макрос, задать условия замены, заключая их в кавычки. выбрать любой файл из папки.


б) для Microsoft Word:
Создать новый документ Word , открыть редактор Microsoft VBA , добавить новый модуль, скопировать текст процедуры ниже. О том как создать макрос более подробно написано здесь. При выполнении макроса нужно выбрать файлы, данные в которых подлежат замене:


Что изменить и на что изменить прописывается в теле макроса:
что_заменить = "123"
чем_заменить = "1234"

Для документов Word подойдет @Text Replacer - бecплaтнaя пpoгpaммa для быcтpoгo пoиcкa и зaмeны тeкcтa в фaйлax из выбpaннoй пaпки и влoжeнныx пoдпaпoк. Работает с дoкумeнтaми тeкcтoвoгo peдaктopa Word: *.doc, *.docx, *.rtf , фaйлaми тeкcтoвoгo фopмaтa: *.txt, *.ini, *.html, *.php и дp., paбoтa c кoтopыми вoзмoжнa чepeз cтaндapтный Блoкнoт Windows . Вce фaйлы дpугиx типoв oбpaбaтывaютcя пpoгpaммoй кaк тeкcтoвыe.


Пpoгpaммoй пoддepживaeтcя пoиcк и зaмeнa мнoгocтpoчныx фpaгмeнтoв тeкcтa c учeтoм peгиcтpa и игнopиpуeмыx cимвoлoв - тaкиx кaк пpoбeлы и пepeвoды cтpoки (windows / *nix) . Программа бесплатная, скачать можно по ссылке с официального сайта программы

Не пробуйте @Text Replacer для документов Excel – программа их портит!

Для документов Excel попробуйте FireBall.exe – небольшую программу, не требующую установки. Файлы Excel необходимо скопировать в папку с FireBall.exe .


По просьбам читателей сайта Александр Витер разработал свой вариант макроса пакетной замены фрагментов текста в документах Word. Об этом его просили в комментариях к заметке Поиск и замена текста во многих документах одновременно .

Александр предлагает скачать (ниже) бета-версию его разработки кто заинтересован в подобном решении. Вот, что он предлагает.

Это третья бета-версия макроса пакетной замены. Теперь ее нужно тестировать.

Что уже сделано:

1. Доработан механизм поиска в документе. Текст можно заменять как в основном тексте, так и в надписях, в гиперссылках и объектах WordArt.

2. Добавлены опции «Учитывать регистр» и «Слово целиком».

3. Если файл доступен только для чтения, то он просто пропускается. Запись об этом делается в лог-файл. Таким образом, можно работать и с документами в локальной сети.

4. Глубина вложенности каталогов, в которых можно искать файлы, удовлетворяющие шаблону, не ограничена.

5. Каждый сеанс поиска\замены записывается в подробный лог-файл с указанием документа, проведенных в нем замен, затраченного времени и настроек замены.

6. В процессе поиска\замены отображается прогресс-бар.

Я со своей стороны провел тесты, у меня ошибок не возникает. Возможные ошибки я постарался предусмотреть, но над этим еще нужно будет работать.

Итак, пожалуйста скачивайте макрос и пробуйте его в деле. Все замечания по макросу (ошибки, предложения) пишите в комментариях к этой заметке.

Вы можете помочь в развитии сайта, сделав пожертвование:

--> Или помочь сайту популярной криптовалютой:

BTC Адрес: 1Pi3a4c6sJPbfF2sSYR2noy61DMBkncSTQ

ETH Адрес: 0x7d046a6eaa1bd712f7a6937b042e9eee4998f634

LTC Адрес: LUyT9HtGjtDyLDyEbLJZ8WZWGYUr537qbZ

USDT (ERC-20) Адрес: 0x7d046a6eaa1bd712f7a6937b042e9eee4998f634

Яндекс Деньги: 410013576807538

А тут весь список наших разных крипто адресов, может какой добрый человек пожертвует немного монет или токенов - получит плюсик в карму от нас :) Благо Дарим, за любую помощь! -->

Еще записи по вопросам использования Microsoft Word:

Комментариев: 79

С интересом читаю ваш проект. Спасибо за полезный труд!

У меня есть пара вопросов по Word. Думаю, многим будут они интересны. К сожалению, не разобрался, как можно опубликовать эти вопросы на сайте? Если не затруднит, подскажите, пожалуйста.

С уважением, Николай


Николай, вопросы (и ответы) публикую на сайте я сам. А задать их вы можете через наш Форум.

а) Не хватает подробной информации в логе: сколько замен сделано, сколько и каких строк найдено.

б) Нужен то ли запрос нf запись итогового файла, то ли предусмотреть бэкап.

в) Хотелось бы поиска/замены с использованием регулярных выражений: например, мне надо не просто найти строки, а убить их, не оставляя пустых абзацев. Найти строки и заменить на них же, но с добавлением своей строки. Найти и заменить формат. Ну и всё остальное, что может показаться "бешенством с жиру".

А в предложенном варианте работает как зверь. Автору респект!

Спасибо за макрос, работает хорошо.

Присоединяюсь к пожеланиям Игоря (см.выше).

Ещё раз спасибо.

Я думал с самого начала о возможности записи в лог-файл количества замен. Но это очень сильно затормозит работу макроса (приблизительно на 40%), потому что встроенного механизма, чтобы получить это число, у Word'а нет;

Перезапись исходного файла я сделаю в виде опции в диалоговом окне;

Регулярные выражения стоят у меня в TODOlist, но не доходят руки

Огромный респект Автору.

Программка супер - то, что доктор прописал.

Поработав немного понял, что мне катастрофически не хватает подробной информации в логе: сколько замен сделано и каких строк найдено.

В моем случае можно пожертвовать временем но инфу о количестве замен нужно знать.

Немного доработал программку:

1) Возможность выбора замены только в основном тексте (мне лично пригодилось);

2)Добавляет запись в лог о количестве сделанных замен или отсутствии таковых;

Провел испытания на затрачиваемое время, использовал 10 документов в каждом 10 000 изменений.

Обработано 10 документов

Затрачено 413,047 сек.

Обработано 10 документов

Затрачено 537,281 сек.

Разница 120 сек - для такого огромного объема в моем случае приемлемо.

Кому интересна версия с указанными доработками вот ссылка .

Автору еще раз ОГРОМНОЕ спасибо.

Обилие комментариев в исходном коде - очень помогло.

Может я не совсем по теме, но подскажите можно ли написать такой макрос, который находит фрагмент текста и копирует его в новый файл, и в месте с фрагментом копирует символов 50 вверх и вниз от фрагмента. Это возможно?


Можно, например таким макросом

Попробовал собрать из двух макросов один чтобы можно вводить данные, искать их и записывать в другой файл в диапазоне 100 символов от введеного слова, но без результатно. Помогите пожалуйста.

Поясните подробнее, что нужно сделать.

Александр, здравствуйте. Нужно чтобы при загрузки макроса появлялось окно InputBox для ввода данных(слово или число) которые нужно найти, затем шел поиск этого слова или числа, а затем скопировать найденные данные в новый документ с диапазоном в 100 символов от указанного слова или числа, то есть 50 символов до и 50 после.

Ваш макрос работает отлично, но нужно чтобы данные не выделялись вручную , а вводились и искались автоматически, с копированием в новый документ.

…Ваш макрос работает отлично, но нужно чтобы данные не выделялись вручную , а вводились и искались автоматически, с копированием в новый документ.

Нужно просто изменить способ задания строки. В моём макросе строку

нужно заменить на такую:

Если же нужно, чтобы все результаты поиска записывались в один и тот же документ, тогда строку

нужно поставить перед блоком

Александр, здравствуйте. Не происходит поиска по всему документу все рекомендации выполнил. Ввожу слово,создается документ, в нем диапазон в 100 символов и все дальше искать не хочет.

Замените этот блок

Извините, что может не по теме =(

У меня проблема следующего характера, есть к примеру таблица с данными (номер договора(акта), Ф.И.О и тд), а также эти договора в .doc формате (к примеру 100 шт.), существуют ли такие флаги(якоря), которые можно расставлять по тексту(договора,акта) в соответствии с данными в таблице. Т.е. если я изменяю данные в таблице например ФИО, то эти данные меняються и в тех документах и местах в документах, где стоят эти так называемые флаги(якоря).

Ответьте если сможете.

Андрей, специально для Вас сделано «Слияние»

В каком Word'е вы работаете

Спасибо огромное, за вашу отзывчивость и профессионализм, выручили так выручили. Еще раз спасибо.

Предыдущий макрос был с ошибкой, это рабочий, но ищет не по всему документу. Что нужно сделать? Подскажите пожалуйста.

стас, я же уже сказал, что нужно изменить в предыдущем ответе на Ваш вопрос

Александр спасибо за понимание, нашел свою ошибку, сейчас все работает как надо. Макрос написанный вами можно использовать телекоммуникации для отсева данных в трейсе. Еще раз СПАСИБО.

Мне макрос очень понравился, спасибо автору.

На подходе следующая версия этого макроса с учётом замечаний Марка Розенберга. Будут представлены две версии: для Word 2003 и ниже и для Word 2007 и выше.

Посмотрел макрос SrcAndRpl_Beta3_m1.rar.

Для перебора всех частей документа (в т.ч. все надписи в группах и на полотне), могу посоветовать конструкцию попроще:

В колонтитулах надписи не обрабатываются, придется извращаться.

Спасибо за внимание к моей работе. В новой версии, которую я пообещал от имени Комментатор 5, надписи в колонтитулах обрабатываются

Александр, спасибо за макрос он очень облегчает людям работу!

у меня вопрос: хочу заменить ФОРМАТЫ, а не текст. такое возможно?

допустим у меня во всех файлах заголовки начинаются вот в таком формате

"обычный, шрифт 15 или 17, синий"

а я хочу менять это все только на формат "заголовок 2"

1. у меня все заголовки синего цвета. можно брать по цвету

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

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

Весь текст шрифтом TimesNew Roman

Абзац 6 рт до и после ко всему документу, за исключением таблиц.

Первая строка: 12 рт до, 3 рт - после, жирн;

Вторая строка: 0;0, курсив.

все ПРОПИСНЫЕ, жирн;

12 pt - до, 12 pt - после

это все для директории, в которой 250-300 файлов.

Может кто подскажет прямой макрос. Заранне спасибо.

Ответ на: ми-007"ьфшдюкг

Здравствуйте. Все здорово все нравится. но у меня возникает ошибка при поиске и замене строки длиной более 255 символов.

ругается Run-time error 5854, слишком длинный строковый параметр. Можно решить этот вопрос каким-нибудь способом?

Ограничение в 255 символов заложено в диалоге Найти и заменить и в соответствующем методе VBA. В шаблоне VolRepl Beta для замены можно использовать любой фрагмент документа, но длина строки поиска ограничена.

Можно написать макрос, который будет искать первые 255 символов искомого текта и сравнивать следующие символы с искомыми, пока не будет совпадения.

Я не стал этим заниматься, поскольку такая задача встречается редко.

Здравствуйте, Марк! Все просто супер - экономите мне кучу времени на правке документов.

Маленькое пожелание - можно в выводимом отчете указывать количество замен в каждом документе?

Добрый день! Не могли бы вы подсказать по следующей ситуации? Есть документ, который имеет вид:

необходимо в нем найти слово (или сочетание символов), затем удалить строку содержащую это слово, а также все строки выше и ниже в этом фрагменте, чтобы осталось только это:

И так если надо заменить последовательность символов которая меньше 255 символов, на последовательность более 255 символов сделал такой макрос, может кому и пригодится.

Правда, одну проблему я так и не поборол пока. Можно спросить?

Есть .DOC-файл, в котором около тысячи картинок, вставленных в него через "Вставить -> Рисунок -> Из файла -> Связать с файлом". То есть картинки в DOC-файле не хранятся, а находятся в отдельной папке \Images, и все подключены через "Правка\Связи. ". Можно ли осуществить поиск этих всех картинок в тексте и замену каждой картинки на текстовую строку вида

Да, забыл сказать. Word2003. Rартинки - все BMP и PNG, но будут впоследствии преобразованы только в BMP. Впоследствии, Adobe Robohelp (8.0) for Word на основании имеющегося в моём DOC-файле текста и записей вида создаёт HTML help (связанный набор HTML файлов) по заданному мной шаблону. Алгоритм поиска картинок и их замены на в Robohelp присутствует. В виде макроса под названием ConvertDocument. Но доступ к этому макросу для пользователей Robohelp запрещён, а набор его возможностей крайне ограничен. В частности, именно этот нехороший макрос ВСЕ повторяющиеся картинки из папки, связанные с DOC-файлом, заменяет сперва на (первое вхождение), а затем (если в DOC-файле картинка привязана второй, третий, N-ный раз) - присваивает им имена своим автонумератором - , , и т.д., в порядке следования картинки в тексте. После этого, понять какая картинка была откуда, крайне сложно. Надо сказать, что макрос ConvertDocument в Robohelp - многофункциональный. Параллельно с поиском-заменой по телу DOC-файла, он ещё и создаёт в папке Images/ новые картинки в формате BMP (если оригинальный связанный файл был в ином, нежели BMP, формате). Правда, в не очень высоком разрешении, в каком - одному Robohelp понятно, но это разрешение ВСЕГДА ниже чем у оригинальных файлов. Все эти BMP картинки (как , так и автонумерованные) - потом точно в таком же виде, с теми же именами, в виде JPG или GIF файлов (это уже пользователь решает), будут использованы в HTML-help'е. Самое неприятное, что иногда (непонятно почему?) макрос ConvertDocument от Adobe Robohelp, вообще тупит - запись или ВООБЩЕ НЕ ПОЯВЛЯЕТСЯ в теле документа.

Теперь наверное понятно, зачем мне понадобился подобный макрос?

1) если одинаковые связанные картинки встречаются неоднократно в теле документа, неуправляемый макрос Robohelp'а включает очень неудобную автонумерацию. Когда картинок много, ручная замена их имён с на впоследствии очень трудоёмка.

2) Имея подобный макрос, достаточно самому проследить, чтобы в папке Images находились только BMP-файлы, нужного размера и разрешения, имеющие понятное имя. Записи об этом в виде уже будут созданы.

Читайте также: