Проблема переносов
Попали ко мне в руки как-то две бесплатные программки для расстановки русских и украинских переносов в текстовом файле. Запускать ее можно из командной строки или перетягиванием файла на ярлык программы. После конвертации нужно обязательно нажать Enter, т.к. без этого программа не закроется. На выходе получается файл с расширением xtg. Это все было хорошо, только не очень удобно, т.к. нужно Wordовские файлы пересохранять в формат txt а потом их куда-то тащить и бросать.
Возникла идея написать макрос для ворда, чтобы делать это автоматически. Проблема была в автоматическом закрывании окна программы расстановки переносов. Пробовались различные программы для завершения процессов и пока я остановился на PBR Killer v.2(бесплатная), которая позволяет следить за процессами и автоматически мочить все, которые прописаны в файле Kill.cfg. Прописал я туда расстановщики переносов и саму прогу PBR Killer v.2, т.е. сначала она мочит процессы, а затем себя. Получилось то, что надо.
Через время я наткнулся на программу Quarkconverter for Word (ссылку не привожу т.к. считаю ее не нужной). Программа платная ($30), но умеет сохранять в форматирование текста с помощью кварковских тегов, также получая на выходе файл xtg. Программу можно запускать не более 500 раз, а затем нужно платить или чудить еще чего. Еще там при каждом преобразовании выскакивали 2 окошка с параметрами конвертирования. Идея в ней была просто рульная. На ее основе я написал свой макрос, работающий по этому же принципу.
Еще немного подумав, решил совместить расстановку переносов и сохранение форматирования шрифта. Вроде бы мне это удалось (об этом судить вам).
Как работает макрос "XTG"?
1. Сохраняет текущий документ.
2. Тире написанное дефисами заменяет на тире.
3. Определяет форматирование текста и расставляет необходимые теги (Только те, которые прописаны в rushypp.ini. Допустим вам не нужно сохранять подчеркивание, если вы никогда его не используете в верстке).
4. Принимает решение какие переносы расставлять украинские или русскиеРасстановка переносов с помощью программ hyphenRus и hyphenUkr.Каталог с временными файлами текста C:\ , в нем будут созданы 2 файла s145.txt и s145.xtg. Думаю они вам сильно мешать не будут (они будут заменятся с каждым новым файлом).
6. Автоматическое завершение процесса расстановщика переносов после окончания своей миссии :) с помощью программы PBR Killer v.2.
7. Открывает файл s145.xtg, заменяет ненужную фигню, полученную при совместной работе двух программ.
8. Заменяет множество последовательных пробелов на один, табуляцию не трогает
9. Сохраняет файл в место, указанное в rushypp.ini (или в каталог с оригиналом или в отдельную папку). Если файл с таким именем существует, выдает запрос на перезапись.
10. Закрывает текущий документ.
Как настроить "XTG"
1. Качаем архив xtg12.4.rar.
2. Файл Normal.dot располагаем в папку с Шаблонами Wordа вместо оригинала. Может быть в разных местах в зависимости от версии Worda и Windows. Если не знаете где, то устройте поиск на диске С.
Обычно: C:\windows\Application Data\Microsoft\Шаблоны
или C:\Documents and Settings\имя пользователя\Application Data\ Microsoft\Шаблоны
или С:\Program Files\Microsoft Office\Шаблоны
или где-нибудь ещё.
В файле Normal.dot содержится сам макрос, кнопка для его выполнения (взятая из иконок QuarkXPress) и перенастроенные горячие клавиши на манер кварка. Попробуйте :). Мне часто нужно было вставлять связи из программы Excel для автоматического перерасчета документа .doc, поэтому я позволил себе оставить настройку клавиши insert (линкует скопированную ячейку из Excel в Word для автоматического пересчета всех значений).
3. Остальные файлы из архива распаковываем в заранее созданную папку "c:\Program Files\rushypp" (обязательно в эту, т.к. в макросе идет ссылка именно на эту папку)
4. После первого запуска макроса создается в папке "c:\Program Files\rushypp" файл настроек rushypp.ini, который содержит такие строки:
1, , "Ital"
1, , "Bold"
1, , "Underline"
1, , "Word underline"
1, , "Strikethrough"
1, , "Small caps"
1, , "All Caps"
1, "V", "Superscript (V или +)"
1, , "Subscript"
0, "C:\", "папка для выходных файлов. 0 - папка оригинального файла. 1 - учитывается путь выхода, который записан через запятую"
Каждая строка имеет три параметра:
1) включение и выключение обработки данной строки,
2) используется только в двух строках "V" – выбор тега для надстрочных знаков и "C:\" - путь для выходных файлов (задан например, ясно, что вы не будете использовать C:\... хотя кому как),
3) третий параметр вообще не участвует в работе макроса – это просто подсказка для вас и меня (но она должна быть, хоть и в измененном виде).
Этот файл можно конфигурировать по своим потребностям.
5) Открываете документ в Word'е, запускаете макрос и если чего не получается, то пишите мне жалобу :) на s145@bk.ru.
Необходимые файлы вы найдёте здесь...