Основы работы в Open Office


Ввод вашего первого макроса


Если диалоговое окно Управление макросами все еще открыто, Вы можете выделить недавно созданный модуль и нажать кнопку Редактировать . Это откроет Basic IDE (рис. 17.9). Другой выбор состоит в использовании диалога Макрос. Если диалог Управление макросами открыт, нажмите кнопку Закрыть для открытия диалога Макрос. Если диалог Управление макросами не открыт, выполните Сервис > Макрос > Управление макросами > OpenOffice.org Basic для открытия диалога Макрос (рис. 17.8).

Вот описание кнопок в диалоге Макрос:

  • Кнопка Выполнить выполняет выбранный макрос. Макрос выбран в правом списке, и его название также появляется в верхнем левом поле ввода, названном "Название макроса".


    Рис. 17.8.  Выбор определенного макроса

  • Кнопка Закрыть закрывает диалог Макрос.
  • Кнопка Назначить связывает макрос с определенным событием. Назначение макросов событиям обсуждается далее.
  • Кнопка Редактировать открывает IDE для редактирования выбранного макроса.
  • Кнопка Удалить удаляет выбранный макрос. Эта кнопка присутствует, только если модуль выбран. Если библиотека или документ выбраны в списке "Макрос из", кнопка Удалить заменяется на Создать. Кнопка Создать создает новый макрос в выбранной библиотеке.
  • Кнопка Управление открывает диалог Управление макросами.
  • Кнопка Справка открывает систему помощи.

Назначение диалога Макрос состоит в том, чтобы работать с отдельным макросом. Выберите MyFirstModule и нажмите кнопку Редактировать для открытия Basic IDE (рис. 17.9). Одна пустая подпрограмма, Main, автоматически создается при создании модуля. IDE, показанная нарис. 17.9, была открыта нажатием на MyFirstModule и затем нажатием на кнопку Редактировать . Введите код, приведенный в пример 1..

пример 1. Программа "Hello World" найденная в файлах исходного текста этой главы на веб-сайте Hentzenwerke.

Sub main HelloWorld2() End Sub Sub HelloWorld1 Print "Hello World One" End Sub Sub HelloWorld2 Print "Hello World Two" End Sub

Листинг 1. Программа "Hello World" найденная в файлах исходного текста этой главы на веб-сайте Hentzenwerke (html, txt)



увеличить изображение
Рис. 17.9.  Разработка макроса в IDE

IDE содержит панели инструментов Макрос и Стандарт, обозначенные нарис. 17.9. (Большинство значков на панели инструментов Макрос описаны в разделе "Интегрированная среда разработки") Остановите курсор Вашей мыши на каждом из значков панели инструментов на пять секунд и прочтите появляющийся текст; это дает подсказку о назначении данного значка.


Рис. 17.10.  Нажмите на значок Компиляция, чтобы найти синтаксические ошибки, такие как отсутствие кавычек

Нажмите на значок Компилировать
, чтобы проверить макрос на наличие синтаксических ошибок. Сообщение не отображается, если ошибки не найдены (рис. 17.10). Нажатие на значок Компиляция осуществляет выполнение компиляции только для текущего модуля.

Измените код в пример 1. для демонстрации ошибки. Удалите вторую кавычку из утверждения Print в HelloWorld1 (рис. 17.10). После чего нажмите значок Компиляция . Диалог показывает важное сообщение об ошибке для первой ошибки, с которой сталкиваются. Сообщение об ошибке на рис. 17.10указывает, что ожидалась кавычка, но не была найдена. Первый символ кавычки выделен, и красная стрелка отмечает строку с ошибкой. Нажмите кнопку OK для закрытия диалога сообщения об ошибке, исправьте строку, добавив кавычку в конце, и затем скомпилируйте код заново.

Нажмите на значок Выполнить для запуска первой подпрограммы в текущем модуле. Нет необходимости нажимать сначала на значок Компиляция, потому что нажатие на значок Выполнить автоматически компилирует каждый модуль в текущей библиотеке. Нажатие на значок Выполнить запускает только первую подпрограмму в модуле. Для пример 1., значок Выполнить запускает первую подпрограмму, которая называется "main". Подпрограмма main вызывает подпрограмму HelloWorld2, отображающую диалог показанный нарис. 17.11. Нажмите OK для закрытия диалога или нажмите Отмена для остановки макроса.


Рис. 17.11.  Нажмите OK для закрытия диалога.

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

  • Поместить HelloWorld1 первой в модуле и нажать на значок Выполнить .
  • Изменить подпрограмму main для вызова HelloWorld1, а не HelloWorld2.
  • Использовать диалог Макрос (показанный нарис. 17.8) для запуска любой подпрограммы в модуле.
  • Добавить кнопку в Ваш документ OpenOffice.org, которая вызывает HelloWorld1. Этот метод обсуждается далее.
  • Назначить макрос на нажатие клавиши. Чтобы сделать это, выполните Сервис > Настройка для открытия диалога Настройка , и перейдите на вкладку Клавиатура. Библиотеки макросов находятся в нижней части списка Категории. Вы можете также найти их, нажав Сервис > Макрос > Управление макросами > OpenOffice.org Basic , выбрать определенный макрос, и затем нажать кнопку Назначить, чтобы открыть окно Настройка. Различные вкладки этого диалога позволяют Вам назначить макрос для выполнения как пункт меню, от клавиши клавиатуры, значка на панели инструментов или системного события.
  • Добавьте значок на панель инструментов, который вызывает HelloWorld1.




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

  1. Выполните Сервис > Макрос > Управление макросами > OpenOffice.org Basic для открытия диалога Макрос (рис. 17.8).
  2. Найдите документ, который содержит модуль в списке "Макрос из".
  3. Выполните двойной щелчок на библиотеке для отображения содержащихся в ней модулей.
  4. Выбрать модуль, чтобы отобразить содержащиеся подпрограммы и функции в списке "Существующие макросы: <имя выбранного модуля>".
  5. Выберите требуемую для запуска подпрограмму или функцию — например, HelloWorld1.
  6. Нажмите кнопку Выполнить для запуска подпрограммы или функции.
СОВЕТ При разработке программы поместите ее в начало модуля, так Вы сможете быстро выполнить ее, нажав на значок Выполнить. Другое решение состоит в том, чтобы использовать первую подпрограмму для вызова другой, как показано в пример 1.. Это быстрее, чем использование диалога Макрос.
Код, используемый в этой главе, доступен в текстовом документе OpenOffice.org по имени SC01.sxw. Загрузите и откройте этот документ. Когда документ, содержащий макроопределение открывается, OpenOffice.org выдает предупреждение (смотририс. 17.12). Это предупреждение помогает Вам избежать случайного запуска макроса, содержащего вирус. Хотя Вы можете вручную запускать любой макрос используя диалог Макрос, кнопки с привязанными макросами в документе не будут функционировать. Нажмите Включить макросы, чтобы полностью разрешить применение кнопок с макросами, добавленными в SC01.sxw.


Рис. 17.12.  Вы только открываете OpenOffice.org документ, который содержит макрос.

СОВЕТ Вы можете сконфигурировать документ для автоматического запуска макроса при загрузке документа. Это один из методов распространения макровирусов при использовании документов. Если Вы не ожидаете, что документ содержит макрос, Вы должны всегда нажимать Отключить макросы. Это препятствует автоматическому запуску любого макроса при загрузке документа.
SC01.sxw содержит три кнопки: Main, Hello World 1 и Hello World 2. Каждая кнопка сформирована для запуска соответствующей подпрограммы, когда на кнопку нажимают. Кнопки ничего не делают, если Вы нажимаете Отключить макросы при загрузке документа.

Возможно добавить каталог в список "безопасных путей". Если Вы уверены, что каталог содержит документы, которым Вы можете полностью доверять, что они не содержат макровирусы, Вы можете добавить путь к данному каталогу в список безопасных путей. Используйте Сервис > Параметры > OpenOffice.org > Безопасность > Безопасность макросов > Доверенные источники и добавьте соответствующие месторасположения файлов, которым доверяете. Все документы, загруженные из доверенных источников, будут считаться безопасными, и макросы всегда будут запускаться.


Содержание раздела