Опубликован: 16.05.2007 | Уровень: для всех | Доступ: платный
Лекция 17:

Первые шаги в работе с макросами

< Лекция 16 || Лекция 17: 12345 || Лекция 18 >
Аннотация: Данная лекция посвящена вопросам использования макросов для ваших объектов ОО. Подробно рассматривается создание макросов, а также освещаются особенности хранения макросов в библиотеках приложений, управления макросами. Кроме того, уделено внимание использованию т.н. точек останова

Язык макросов OpenOffice.org

Макрос – сохраненная последовательность команд или нажатий клавиши, которые предназначены для использования в будущем. Пример простого макроса – "вывод" вашего адреса. Макросы поддерживают команды, которые позволяют выполнять различные функции, такие как принятие решений (например, если баланс меньше чем ноль, отобразить его красным цветом; в противном случае – черным), обработка (если баланс больше чем ноль, вычесть из него 10), и даже взаимодействие с человеком (запросить у пользователя число). Некоторые из этих команд основаны на языке программирования BASIC. (BASICакроним для Beginner&s All-purpose Symbolic Instruction Code.) Обычно макрос связывают с нажатием клавиши или значком на панели инструментов так, чтобы его можно было быстро выполнить.

В OpenOffice.org язык макросов очень гибок и позволяет автоматизировать различные простые и сложные задачи. Написание макросов и изучение внутренней работы OpenOffice.org может быть очень занимательным, но это не всегда лучший путь. Макросы особенно полезны, когда Вы должны выполнить какую-либо задачу одним и тем же путем множество раз, или когда Вы хотите нажать одну кнопку, чтобы сделать что-то, что обычно выполняется за несколько шагов. Время от времени Вы можете написать макрос, который делает что-то, чего Вы не можете выполнить иным способом в OpenOffice.org, но в этом случае Вы должны убедиться, что OOo не может сделать этого. Например, общий запрос к какому-нибудь списку адресатов OpenOffice.org для удаления пустых абзацев. Подобные функциональные возможности предоставляет Автоформат (выполните Сервис > Автозамена > Вкладка Параметры ). Также возможно использование регулярных выражений для поиска и замены пустых мест. Есть время и цель для создания макросов и время для других решений. Эта глава подготовит Вас со временем и Вы будете понимать, когда макрос – лучшее решение.

Примечание OpenOffice.org сокращается как OOo. "OpenOffice.org Basic" поэтому сокращается как "OOo Basic".

OpenOffice.org язык макросов основан на языке программирования Basic. OOo Basic выполняет одну строку одновременно. Поскольку обычно Вы нуждаетесь в более чем одной строке, чтобы сделать что-нибудь, Вы будете писать программы – также известные как процедуры – которые состоят из множества строк, и когда исполняются, выполняют определенные действия. Например, Вы могли бы написать программу, которая удаляет верхний колонтитул из файла и вставляет предпочтительный для Вас верхний колонтитул. В OpenOffice.org программы, которые логически связаны, сохраняются в модуле. Например, модуль может содержать программы для нахождения общих ошибок, требующих редактирования. Логически связанные модули сохраняются в библиотеках, а библиотеки – в контейнерах библиотек. OpenOffice.org приложение может вести себя как контейнер библиотеки, а может как любой документ OOo. Просто запомните, что приложение OpenOffice.org и любой OpenOffice.org документ может содержать библиотеки, модули и макросы.

Примечание Диалог - окно, которое появляется на экране, обычно требует ввода или представления информации. Диалоги обычно исчезают после того, как требуемый ввод выполнен. Созданные пользователем диалоги сохраняются в библиотеках диалогов тем же самым образом, каким макросы сохраняются в библиотеках макросов. Каждая библиотека может содержать множество диалогов. Контейнеры библиотеки могут хранить и библиотеки макросов, и библиотеки диалогов.

Хранение макросов в библиотеке документов

Каждый документ OpenOffice.org является контейнером библиотек и способен содержать макросы и диалоги. Когда документ содержит макросы, которые он использует, обладание документом подразумевает обладание макросом. Это удобный метод распространения и хранения. Пошлите документ другому человеку или измените его размещение и макросы будут доступны и пригодны к употреблению.

Традиционный метод представления языка программирования, написание программы тем или иным образом выводящей сообщение "Hello World". Целые веб-сайты существуют с единственной целью – показать программы "Hello World" на стольких многих различных языках программирования, насколько возможно (например, смотри http://www2.latech.edu/~acm/HelloWorld.shtml. Не будем нарушать традиций, и первый показанный макрос будет вариацией на тему "Hello World".

Шаг 1. Создание библиотеки

Все документы OOo, независимо от типа документа, могут содержать макросы. Чтобы добавить макрос к любому документу OOo, документ должен быть открыт для редактирования. Сначала, создадим новый текстовый документ, который будет называться "Безымянный1" – предполагая, что никакой другой еще неназванный документ не является открытым в настоящее время. Когда документ создан, OpenOffice.org создает пустую библиотеку по имени Standard. Библиотека Standard, однако, остается пустой, пока не создан вручную новый модуль. Используйте диалоговое окно Макрос OpenOffice.org, чтобы организовать библиотеки и модули: выполните Сервис > Макросы > Управление макросами > OpenOffice.org Basic ( рис. 17.1).

Использование диалога Макросы для создания нового макроса и организации библиотеки

Рис. 17.1. Использование диалога Макросы для создания нового макроса и организации библиотеки

Список "Макрос из" отображает доступные контейнеры библиотек; он включает каждый открытый документ, ваши личные макросы, и макросы, распространяемые с OOo. Ваши личные макросы, отображаемые как "Мои макросы" на 17.1, обычно сохраняются в вашем личном каталоге пользователя. "Макросы OpenOffice.org" обычно сохраняются отдельно в каталоге с программными файлами OOo. Хотя ваш личный макрос сохранен и отображается отдельно от макросов OOo, оба, являются частью библиотеки прикладного уровня. Контейнеры библиотеки документа перечислены с использованием заданного имени документа. Большинство контейнеров библиотек уже имеет библиотеку по имени Standard. Выполните двойной щелчок на значке контейнера библиотеки для отображения содержащихся библиотек. Выполните двойной щелчок на библиотеке для отображения содержащихся модулей.

Примечание До версии 2.0, OOo отображал "Мои макросы" и "Макросы OpenOffice.org" в одном списке. Новые диалоги являются более интуитивными, сохраняя очень подобные впечатление и ощущение. Поддержка редактирования и выполнения макросов на языках, кроме OOo Basic, также была добавлена; смотри Сервис > Макросы > Управление макросами > JavaScript, например.

Библиотека Standard для безымянного документа автоматически создается при создании нового документа. Документ в настоящее время не содержит никаких модулей – помните, что макросы сохраняются в модулях. Хотя Вы могли нажать на кнопку Создать для создания нового модуля, не делайте этого! Пункт этого раздела должен создать новую библиотеку.

СОВЕТ Не храните ваши макросы в библиотеке Standard. Создайте новую библиотеку с описательным названием и храните там ваши макросы. Когда библиотека добавляется, она может перезаписать существующую библиотеку с тем же самым именем. Если все ваши библиотеки называют Standard, это препятствует Вам добавлять ваши библиотеки в другие контейнеры библиотек.

Нажмите на кнопку Управление, чтобы открыть диалог Управление макросами (17.2). Как и в диалоговом окне Макрос, здесь перечислены все контейнеры библиотек. На 17.2 библиотека Standard подсвечена в документе "Безымянный1"; прокрутите список вниз, чтобы найти "Безымянный1", если требуется. Диалог Управление макросами содержит несколько закладок и текущая закладка Модули. Поскольку название подразумевает, закладка Модули имеет дело с модулями. Вот описание пунктов этого диалога:

  • Кнопка Новый модуль создает новый модуль в выбранной библиотеке.
  • Кнопка Удалить удаляет выбранный в настоящее время модуль; не доступна, если модуль не выбран.
  • Кнопка Редактировать открывает выбранный в настоящее время модуль для редактирования в IDE (Integrated Development Environment – Интегрированная среда разработки;); не доступна, если модуль не выбран.
  • Кнопка Закрыть закрывает диалог Управление макросами.
    Использование диалога Управление макросами для управления модулями

    Рис. 17.2. Использование диалога Управление макросами для управления модулями

Цель этого раздела состоит в том, чтобы создать библиотеку названную осмысленно, которая содержится в документе "Безымянный1". Перейдите на вкладку Библиотеки, чтобы иметь дело с библиотеками ( рис. 17.3).

Использование диалога Управление макросами для управления библиотеками

Рис. 17.3. Использование диалога Управление макросами для управления библиотеками

Когда эта часть диалога отображается, в списке Приложение/Документ выбран контейнер Мои макросы и диалоги. Выберите документ "Безымянный1" так, чтобы изменения проводились в безымянном документе. Кнопки, показанные на закладке Библиотеки, затрагивают библиотеки, а не модули. Вот их описание:

Выберите значащее наименование для библиотеки

Рис. 17.4. Выберите значащее наименование для библиотеки

Нажмите кнопку Новая библиотека для создания новой библиотеки ( рис. 17.4). Хотя название по умолчанию "Library1", лучше выбрать значащее название, типа "MyFirstLibrary" или "TestLibrary". Нажмите OK, чтобы создать библиотеку.

Диалоговое окно Управление макросами теперь содержит вновь созданную библиотеку в списке Библиотек ( рис. 17.5).

Документ теперь содержит библиотеку по имени TestLibrary

Рис. 17.5. Документ теперь содержит библиотеку по имени TestLibrary
< Лекция 16 || Лекция 17: 12345 || Лекция 18 >
юрий лылов
юрий лылов

более туманного и запутанного объяснения макросов трудно наверно себе представить , похоже препод сам плавает во всем этом а вопросов поэтому нет ибо и отвечать будет некому

Павел Кекконен
Павел Кекконен
Галина Иванова
Галина Иванова
Россия
Лариса Деева
Лариса Деева
Россия, Красноярск