PerfectScript Macro Editor¶
PerfectScript Macro Editor — это встроенный редактор макросов, входящий в состав офисного пакета Corel WordPerfect Office, предназначенный для создания, редактирования и отладки скриптов на языке PerfectScript. Редактор позволяет автоматизировать выполнение повторяющихся задач в приложениях пакета, таких как WordPerfect, Quattro Pro и Presentations, путём написания макрокоманд, управляющих функциями программ.
¶История
PerfectScript был разработан компанией Corel Corporation (Канада) как часть офисного пакета WordPerfect Office, который изначально создавался для операционной системы DOS, а затем был портирован на Windows. Первые версии редактора макросов появились в начале 1990-х годов вместе с WordPerfect 5.1 для DOS. С переходом на Windows в середине 1990-х годов (WordPerfect 6.0 для Windows) редактор был значительно переработан: появился графический интерфейс, поддержка отладки и интеграция с другими приложениями пакета. В последующих версиях (WordPerfect Office X3, X4, X5 и далее) функциональность редактора расширялась, включая поддержку Unicode, улучшенную обработку ошибок и интеграцию с .NET Framework через COM-интерфейсы, однако базовая архитектура осталась прежней.
¶Основные возможности
Редактор PerfectScript Macro Editor предоставляет инструменты для написания и тестирования макросов на языке PerfectScript, который является диалектом языка программирования, близким к BASIC. Ключевые возможности включают:
- Синтаксическая подсветка: выделение ключевых слов, переменных, комментариев и строковых литералов разными цветами для облегчения чтения кода.
- Автодополнение: подсказки по командам, функциям и переменным по мере ввода.
- Отладчик: пошаговое выполнение макроса, установка точек останова, просмотр значений переменных и стека вызовов.
- Интеграция с приложениями: возможность запуска макросов непосредственно из WordPerfect, Quattro Pro или Presentations, а также привязка макросов к горячим клавишам или кнопкам панелей инструментов.
- Работа с файлами: чтение и запись текстовых и бинарных файлов, управление файловой системой (создание, удаление, переименование папок и файлов).
- Взаимодействие с пользователем: вывод диалоговых окон, сообщений, запрос ввода данных.
- Поддержка COM: возможность взаимодействия с другими приложениями Windows через объектные модели (например, Microsoft Excel, Outlook), что расширяет область применения макросов.
¶Язык PerfectScript
PerfectScript — это интерпретируемый язык программирования, ориентированный на автоматизацию задач в офисных приложениях. Его синтаксис напоминает Visual Basic for Applications (VBA), но имеет ряд отличий, связанных с историей развития WordPerfect. Основные конструкции языка:
- Переменные: объявляются неявно или явно с помощью ключевого слова
Declare; поддерживаются типы: целые числа, числа с плавающей точкой, строки, массивы, объекты. - Условные операторы:
If...Else...EndIf,Switch...Case...EndSwitch. - Циклы:
For...Next,While...EndWhile,Repeat...Until. - Функции и процедуры: определяются с помощью
Function...EndFunctionиProcedure...EndProcedure; поддерживаются аргументы по умолчанию и передача по ссылке. - Команды приложений: специфические для WordPerfect, Quattro Pro и Presentations команды, такие как
Type(),PosTable(),FileOpen(),AppExecute().
Пример простого макроса на PerfectScript, который открывает диалоговое окно с приветствием:
`` Application (WordPerfect; "WordPerfect"; Default!; "EN") MessageBox (; "Приветствие"; "Здравствуйте, мир!") ``
¶Интерфейс редактора
Интерфейс PerfectScript Macro Editor представляет собой многооконное приложение с панелями инструментов и меню. Основные элементы:
- Редактор кода: центральная область для ввода и редактирования текста макроса.
- Панель проекта: отображает структуру макроса (список функций, процедур, переменных).
- Панель отладки: показывает состояние выполнения (текущая строка, значения переменных, стек вызовов).
- Окно вывода: выводит сообщения об ошибках, результаты выполнения команд и отладочную информацию.
- Панель инструментов: кнопки для запуска, остановки, пошагового выполнения, установки точек останова.
Редактор поддерживает работу с несколькими макросами одновременно, открытыми в разных вкладках.
¶Применение
PerfectScript Macro Editor используется в корпоративной среде и среди пользователей WordPerfect Office для автоматизации рутинных операций, таких как:
- Форматирование документов: автоматическое применение стилей, вставка колонтитулов, нумерация страниц, замена текста по шаблонам.
- Обработка данных: импорт и экспорт данных из таблиц Quattro Pro, сортировка, фильтрация, расчёт сводных таблиц.
- Генерация отчётов: создание документов на основе шаблонов с подстановкой данных из внешних источников (базы данных, CSV-файлы).
- Интеграция с другими программами: автоматическое копирование данных из WordPerfect в Excel через COM, отправка электронных писем через Outlook.
- Пакетная обработка: выполнение однотипных операций над множеством файлов (например, конвертация всех документов в PDF).
¶Ограничения и критика
Несмотря на широкие возможности, PerfectScript Macro Editor имеет ряд недостатков:
- Закрытость экосистемы: редактор и язык привязаны к пакету Corel WordPerfect Office, что ограничивает его использование вне этого окружения.
- Сложность отладки: хотя отладчик присутствует, его функциональность уступает современным IDE (например, Visual Studio), особенно в работе с большими проектами.
- Устаревший синтаксис: язык PerfectScript не обновлялся так активно, как VBA или Python, что приводит к отсутствию современных конструкций (например, лямбда-выражений, обработки исключений в стиле try-catch).
- Документация: официальная документация Corel по PerfectScript ограничена и не всегда актуальна; сообщество пользователей невелико, что затрудняет поиск решений проблем.
- Отсутствие поддержки .NET напрямую: хотя можно вызывать COM-объекты, интеграция с .NET Framework требует дополнительных усилий и не является нативной.
¶Сравнение с аналогами
В отличие от VBA (Visual Basic for Applications), который является стандартом для Microsoft Office, PerfectScript Macro Editor ориентирован исключительно на пользователей WordPerfect Office. VBA имеет более широкую поддержку, богатую документацию и активное сообщество, но PerfectScript предоставляет более глубокую интеграцию с функциями WordPerfect, особенно в области форматирования текста и работы с таблицами. В сравнении с Python (например, с использованием библиотеки python-docx), PerfectScript проще в освоении для непрограммистов, но менее гибок и не поддерживает современные парадигмы программирования.
¶Интересные факты
- PerfectScript поддерживает создание макросов, которые могут записывать действия пользователя (режим записи), что позволяет автоматизировать задачи без написания кода вручную.
- В ранних версиях WordPerfect для DOS макросы писались на языке WordPerfect Macro Language, который был полностью заменён на PerfectScript в версиях для Windows.
- Несмотря на снижение популярности WordPerfect Office, PerfectScript Macro Editor продолжает использоваться в юридических и государственных учреждениях США, где WordPerfect традиционно занимает сильные позиции.
¶Источники
- Corel WordPerfect Office X9 User Guide, 2022.
- PerfectScript Macro Language Reference, Corel Corporation, 2019.
- WordPerfect Office: The Official Guide, 12th Edition, 2020.
- Обсуждения на форумах WordPerfect Universe (wpwin.com), 2000–2023.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →

