Открыть сервис

PerfectScript

PerfectScript — это язык сценариев (скриптовый язык), встроенный в офисный пакет Corel WordPerfect Office, предназначенный для автоматизации задач, создания макросов и расширения функциональности приложений пакета, в первую очередь текстового процессора WordPerfect. Язык предоставляет пользователям и разработчикам возможность управлять приложениями, обрабатывать данные, взаимодействовать с файловой системой и создавать диалоговые окна.

История

Язык PerfectScript был разработан компанией Corel Corporation (Канада) как преемник более ранних макрос-языков, использовавшихся в WordPerfect для DOS (например, макросы на основе команд WordPerfect 5.1). Первая версия PerfectScript появилась вместе с выпуском WordPerfect 6.0 для Windows в 1993 году. В отличие от простых макросов, записываемых как последовательность нажатий клавиш, PerfectScript предоставил полноценную программную среду с поддержкой переменных, циклов, условных операторов и процедур.

В последующих версиях WordPerfect Office (с 7.0 по 2021) язык развивался: добавлялись новые команды, улучшалась интеграция с операционной системой Windows, появлялась поддержка COM-объектов (Component Object Model), что позволило автоматизировать не только приложения Corel, но и другие программы, поддерживающие эту технологию. Несмотря на снижение популярности WordPerfect по сравнению с Microsoft Office, PerfectScript остаётся востребованным в узких профессиональных нишах (юридические фирмы, государственные учреждения, издательства), где исторически используется WordPerfect.

Синтаксис и возможности

PerfectScript — это интерпретируемый язык с синтаксисом, напоминающим BASIC. Программа на PerfectScript представляет собой текстовый файл с расширением .wcm (WordPerfect Macro). Ключевые особенности синтаксиса:

  • Переменные: объявляются явно или неявно, поддерживаются строковые, числовые, логические типы и массивы.
  • Команды: большинство функций реализовано через вызовы встроенных команд (например, Type("текст") для ввода текста, FileOpen("имя_файла") для открытия документа).
  • Управляющие конструкции: If...Else...EndIf, For...EndFor, While...EndWhile, Switch...EndSwitch.
  • Процедуры и функции: определяются с помощью Procedure и Function, поддерживают передачу параметров по значению и по ссылке.
  • Диалоговые окна: создаются с помощью команд DialogDefine, DialogAdd, DialogShow, что позволяет строить простые графические интерфейсы.
  • Работа с файлами: чтение, запись, создание, удаление, переименование файлов и папок.
  • COM-автоматизация: доступ к объектам других приложений (например, Microsoft Excel, Outlook) через CreateObject и GetObject.

Пример простого макроса, который выводит сообщение и вставляет текст в документ WordPerfect:

`` Application (WordPerfect; "WordPerfect"; Default; "US") MessageBox (x; "Привет"; "Это макрос PerfectScript!") Type ("Текст вставлен макросом.") ``

Среда разработки

Для написания и отладки макросов в состав WordPerfect Office входит встроенный редактор макросов — PerfectScript Macro Editor. Он предоставляет:

  • Подсветку синтаксиса.
  • Автодополнение команд.
  • Пошаговую отладку (установка точек останова, просмотр переменных).
  • Компиляцию макроса в исполняемый файл (.exe), который может запускаться независимо от WordPerfect.

Также доступен инструмент записи макросов (Macro Recorder), который генерирует код PerfectScript на основе действий пользователя в WordPerfect. Полученный код можно затем отредактировать вручную.

Применение

PerfectScript используется в нескольких ключевых сценариях:

  1. Автоматизация рутинных операций в WordPerfect: форматирование документов, создание шаблонов, замена текста, вставка полей данных.
  2. Пакетная обработка файлов: конвертация форматов, печать, экспорт в PDF.
  3. Интеграция с внешними системами: обмен данными с базами данных (через ODBC), электронными таблицами, почтовыми клиентами.
  4. Создание пользовательских диалоговых окон и форм: для ввода данных в юридических или бухгалтерских приложениях.
  5. Разработка надстроек (add-ins): расширение функциональности WordPerfect через макросы, вызываемые из меню или по горячим клавишам.

Ограничения и критика

  • Закрытость платформы: язык привязан к продуктам Corel, что ограничивает его применение вне экосистемы WordPerfect Office.
  • Устаревший синтаксис: по сравнению с современными скриптовыми языками (Python, PowerShell) PerfectScript кажется громоздким и менее выразительным.
  • Отсутствие поддержки Unicode в ранних версиях: до WordPerfect Office X3 (2006) были проблемы с обработкой символов нелатинских алфавитов.
  • Ограниченная документация: официальные руководства Corel часто недостаточно подробны, а сообщество пользователей невелико.
  • Сложность отладки: хотя редактор макросов существует, он уступает по функциональности современным IDE (например, Visual Studio Code).

Интересные факты

  • В 1990-х годах WordPerfect занимал доминирующее положение на рынке текстовых процессоров, и PerfectScript был одним из самых мощных макрос-языков в своём классе.
  • Многие юридические фирмы в США и Канаде до сих пор используют WordPerfect и PerfectScript, так как их документооборот построен на макросах, написанных десятилетия назад.
  • Существуют сторонние компиляторы и утилиты (например, PerfectScript Compiler), позволяющие запускать макросы без установленного WordPerfect, но они не поддерживаются официально.

Источники

  1. Corel WordPerfect Office Help — официальная документация по PerfectScript.
  2. «PerfectScript Macro Language Reference» — встроенный справочник в WordPerfect Office.
  3. Форум сообщества WordPerfect Universe (wordperfectuniverse.com) — обсуждения и примеры макросов.
  4. «WordPerfect 6.0 for Windows: The Complete Reference» — книга, содержащая описание первого выпуска PerfectScript.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →