Назад… К содержанию… Далее…
VBA-макросы для обработки текстовых файлов и файлов в формате MS Word и LO Writer
Содержание:
Данные макросы (noneol, spec_c01, singlstr) решают следующие задачи:
- Убирают «пустые строки» между абзацами;
- Реализуют функцию замены в текстовых файлах «машинописные» знаки на «типографские»;
- Осуществляют приведение абзаца, начинающегося с красной строки и содержащего символы конца строки внутри абзаца, в единую строку;
У автора ежемесячно пишутся различные макросы, с которыми он с удовольствием делится с читателями.
Данные макросы были созданы или адаптированы под свои нужды техническим писателем Юрием А. Денисовым за период с 2011 г. по 2012 г. Преимущество этих макросов состоит в том, что с их помощью можно запускать полезные макросы с алгоритмами искусственного интеллекта, не владея «универсальными» языками программирования, такими как Си, C++ и Visual Basic. Адаптировать под свои нужды эти макросы сможет любой пользователь, освоивший школьный курс информатики.
Не смотря на то, что технология макросов достаточно стара, она и сегодня находит широкое применение при обработке текстов в текстовых процессорах, редакторах и т.п.
Данные макросы распространяются по публичной лицензии GPL v.2 (open source) и является бесплатными для некоммерческого использования.
На 17.12.2011 доступны следующие макросы:
- noneol — уничтожает пустые строки в файлах;
- singlstr — переводит абзац текста, разбитый построчно, в единый абзац одной строкой. При этом абзацы разделяются пустыми строками (реализовано для Microsoft Word);
- spec_c01 – заменяет двойные кавычки (") в русском тексте на открывающиеся и закрывающиеся «русские» кавычки (ёлочки, лапки), двойной дефис – на тире, а повторяющиеся три точки – на многоточие;
Документация к макросам расположена в архиве вместе с макросами.
В настоящее время автор продолжает писать новые макросы и обновлять документацию к ним.
Для запуска данных макросов к системе предъявляются следующие требования:
a) Для макросов VBA MS Word:
- IBM PC – совместимый компьютер с процессором Pentium III и 512 Мб RAM, или лучший;
- операционная система: Microsoft Windows XP и выше;
- Программа Microsoft Word из пакета Microsoft Office 2003/2007;
a) Для макросов VBA Writer:
- IBM PC – совместимый компьютер с процессором Pentium IV и 1024 Мб RAM, или лучший;
- операционная система: Microsoft Windows XP и выше;
- Программа Writer из пакета LibreOffice 3.3 и выше;
Для установки макросов используйте следующие инструкции:
Скачайте и распакуйте архив с текстами макросов в любую папку (например, «Мои документы». Далее…
a) VBA for MS Word (ручная установка);
- Перейдите в каталог: с распакованными файлами;
- Откройте файл «Word.htmlmain.vba.txt»;
- Создайте «пустой» документ Microsoft Word;
- Откройте пункт системного меню: «Сервис» —> «Макросы»;
- Откройте диалоговое окно: «Макросы», и выберите из пункта «Макросы из» значение: «Normal.dot (общего шаблона»;
- Перейдите к тексту файла из п. 2, и найдите следующий макрос в этом файле (он начинается со слов «Sub «имя макроса»)
- Запомните это имя макроса, и скопируйте текст макроса в буфер обмена;
- Перейдите в окно макросов, создайте новый макрос с именем из пункта 7 «Нажав в диалоговом окне кнопку: «Создать», и вставьте в открывшееся окно текст из буфера обмена;
- Сохраните макрос, и перейдите к пункту 6;
- Закройте все открытые Вами окна.
b) VBA for Writer (ручная установка);
- Перейдите в каталог: с распакованными файлами;
- Откройте файл «swriter.vba.txt»;
- Создайте «пустой» документ Libre Office Writer;
- Откройте пункт системного меню: «Сервис» —> «Макросы» —> «Управление макросами» —> «LibreOffice Basic…»;
- В диалоговом окне выберите из дерева слева пункты: «Мои макросы» «Standard» «Module 1», или, при необходимости, создайте его;
- Перейдите к тексту файла из п. 2, и найдите следующий макрос в этом файле (он начинается со слов «Sub «имя макроса»)
- Запомните это имя макроса, и скопируйте текст макроса в буфер обмена;
- Перейдите в окно макросов, создайте новый макрос с именем из пункта 7 (набрав его имя в строке, расположенной в левом верхнем углу, и нажав кнопку «Создать»), и вставьте в открывшееся окно текст из буфера обмена;
- Сохраните макрос, и перейдите к пункту 6;
- Закройте все открытые Вами окна.
c) Шаблоны MS Word с макросами (без программы установки);
- Перейдите в папку с распакованными шаблонами Microsoft Word 2003/2007;
- Переименуйте (на всякий случай) файлы: «Normal.dot», «Normal.dotm», «NormalEmail.dotm», в каталоге «%USERPROFILE%\Application Data\Microsoft\Шаблоны»;
- Скопируйте файлы: «Normal.dot», «Normal.dotm», «NormalEmail.dotm», с перезаписью существующих файлов, в каталог: «%USERPROFILE%\Application Data\Microsoft\Шаблоны»;
- В результате будут записаны новые шаблоны, с изменёнными стилями и макросами;
Для запуска макросов в Microsoft Word необходимо:
- В системном меню Microsoft Word выбрать пункты: «Сервис» -> «Макросы»;
- В списке найти нужный макрос, выбрать его, а затем кнопку «Выполнить»;
Смотрите также презентацию «VBA.Word.02.ppt»
Для запуска макросов в LibreOffice Writer необходимо:
- В системном меню Writer выбрать пункты: «Сервис» -> «Макросы» -> «Выполнить Макрос…»
- В списке найти нужный макрос, выбрать его, а затем кнопку «Выполнить»;
Смотрите также презентацию «VBA.swriter.02.ppt»
Скачать макросы:
- Нарушение логической последовательности при запуске макросов;
См. документацию к макросам;
- Конфликт версий;
Автор отмечает, что он создавал и тестировал свои макросы только для версий 2003 и 2007 редактора: Microsoft Word и версии 3.3.4 для редактора LibreOffice Writer. Поэтому эти макросы могут некорректно работать в редакторах Microsoft Word, OpenOffice и LibreOffice Writer других версий. По вопросам получения новых версий этих макросов пишите автору проекта: yudenisov{at}aport2000.ru.
Успехов Вам в использование программ! Good Luck! Dankon!
1. Ахметов К.С., Федоров А.Г. Microsoft Internet Explorer 4.0 для всех. — М.: КомпьютерПресс, 1997. — 336 с. — ил.;
2. Гайдышев И.П. Решение научных и инженерных задач средствами Excel, VBA и C/C++ — СПб: БХВ-Петербург, 2004, — 512 с.:ил.;
3. Камминг С. VBA для "чайников" 3-е издание: Пер. с англ. — М: Издательский дом Вильямс, 2001. — 448 с.:ил.;
4. Слепцова Л.Д. Программирование на VBA. Самоучитель. — М: Издательский дом Вильямс, 2004. — 384.:ил;.
Назад… К содержанию… Далее…