Макросы, управляемые событиями
В данном разделе описано, как назначать программы Basic событиям программ.
Макрос может выполняться автоматически, когда имеет место указанное событие программы, если назначить нужный макрос данному событию. В следующей таблице представлены события программы и указаны точки выполнения назначенного макроса.
Назначенный макрос выполняется.
. после запуска приложения LibreOffice.
. перед прекращением приложения LibreOffice.
. после создания нового документа с помощью параметров Файл — Создать или значка Создать .
. после открытия документа с помощью параметров Файл — Открыть или значка Открыть .
Сохранить документ как
. перед сохранением документа под указанным именем (с помощью параметров Файл — Сохранить как , параметров Файл — Сохранить или значка Сохранить , если имя документа еще не было указано).
Документ сохранен как
. . после сохранения документа под указанным именем (с помощью параметров Файл — Сохранить как , параметров Файл — Сохранить или значка Сохранить , если имя документа еще не было указано).
. перед сохранением документа с помощью параметров Файл — Сохранить или значка Сохранить при условии, что имя документа уже указано.
. после сохранения документа с помощью параметров Файл — Сохранить или значка Сохранить при условии, что имя документа уже указано.
Документ в процессе закрытия
. перед закрытием документа.
. после закрытия документа. Следует иметь в виду, что событие «Сохранить документ» может также иметь место, когда документ сохраняется перед закрытием.
. после выведения документа на передний план.
. после выведения другого документа на передний план.
. после закрытия диалогового окна Печать , но перед началом фактического процесса печати.
Ошибка выполнения JavaScript
. когда имеет место ошибка выполнения JavaScript.
Печать документов слияния
. после закрытия диалогового окна Печать , но перед началом фактического процесса печати. Это событие имеет место для каждой печатаемой копии.
Изменение количества страниц
. когда изменяется количество страниц.
. если получено сообщение.
Назначение макроса событию
- Выберите параметры Сервис — Настройка и откройте вкладку События .
- Укажите в окне списка Сохранить в , будет ли назначение глобальным, или действующим только в текущем документе.
- Выберите событие из списка Событие .
- Нажмите Макрос и выберите макрос для назначения выбранному событию.
- Нажмите кнопку ОК для назначения макроса.
- Нажмите кнопку ОК , чтобы закрыть диалоговое окно.
Удаление назначения макроса событию
- Выберите параметры Сервис — Настройка и откройте вкладку События .
- Укажите, какое назначение следует удалить – глобальное назначение или назначение, действующее только в текущем документе, – путём выбора параметра в окне списка Сохранить в .
- Выберите событие, которое содержит удаляемое назначение, из списка Событие .
- Нажмите кнопку Удалить .
- Нажмите кнопку ОК , чтобы закрыть диалоговое окно.
Impressum (Legal Info) | Privacy Policy | Statutes (non-binding English translation) — Satzung (binding German version) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Mozilla Public License v2.0. “LibreOffice” and “The Document Foundation” are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy. LibreOffice was based on OpenOffice.org.
Help content debug info:
Title is: Макросы, управляемые событиями
Макрос
Выберите макрос, который требуется выполнять при выборе графического объекта, рамки или объекта OLE. В зависимости от выбираемого объекта эту функцию можно найти либо на вкладке Макрос диалогового окна Объект , либо в диалоговом окне Назначение макроса .
Событие
Список событий, относящихся к макросам, назначенным выбранному объекту.
В следующей таблице даётся описание макросов и событий, которые могут быть связаны с объектами в документе.
Мышь над объектом
Перемещение указателя мыши в границах объекта.
Переход по гиперссылке
Переход по гиперссылке, назначенной объекту.
Мышь покидает объект
Указатель мыши перемещается за границы объекта.
Успешная загрузка графических объектов
Графические объекты загружены успешно.
Прекращение загрузки графических файлов
Загрузка графических файлов остановлена пользователем (например, при загрузке страницы).
Ошибка при загрузке графических объектов
Графические объекты не загружены (например, если графический объект не обнаружен).
Ввод алфавитных символов
Ввод текста с клавиатуры.
Ввод неалфавитных символов
Ввод непечатаемых символов с клавиатуры, например, знаков табуляции и разрывов строк.
Изменение размеров рамки
Изменение размеров рамки с помощью мыши.
Перемещение рамки с помощью мыши.
Перед вставкой автотекста
Перед вставкой текстового блока.
После вставки автотекста
После вставки текстового блока.
Макросы
Выберите макрос для выполнения при возникновении выбранного события.
Рамки позволяют связывать события с функцией, чтобы функция могла определить, будет ли она обрабатывать события или LibreOffice Writer.
Категория
Возвращает список открытых документов и приложений LibreOffice. Щёлкните имя расположения для сохранения макросов.
Имя макроса
Список доступных макросов. Щёлкните макрос, который требуется назначить выбранному объекту.
Назначить
Назначение выбранного макроса указанному событию. Записи назначенного макроса устанавливаются после события.
Удалить
Удаление макроса, назначенного выбранному элементу.
Выбор макроса
Выбор макроса для назначения.
Impressum (Legal Info) | Privacy Policy | Statutes (non-binding English translation) — Satzung (binding German version) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Mozilla Public License v2.0. “LibreOffice” and “The Document Foundation” are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy. LibreOffice was based on OpenOffice.org.
Панель макроса
Панель макроса содержит команды для создания, изменения и выполнения макросов.
Библиотека
Выберите библиотеку для изменения. Первый модуль выбранной библиотеки отображается в Basic IDE.

Компилировать
Служит для компиляции макроса Basic. Компиляция макроса требуется после его изменения или в случае, если в макросе используется шаг с заходом или обходом.
Выполнить
Служит для выполнения первого макроса текущего модуля.
Стоп
Прерывает работу текущего макроса. Также можно нажать сочетание клавиш Shift+Ctrl+Q.
Шаг с обходом
Выполняет макрос и останавливается после выполнения следующей процедуры.
Шаг
Выполняет макрос и останавливается после выполнения следующей команды.
Выход на верхний уровень
Служит для перехода к предыдущей программе текущего макроса.
Выход на верхний уровень
Точка останова
Служит для вставки точки останова в строку программы.
Управление точками останова
Служит для вызова диалогового окна для управления точками останова.
Управление точками останова
Включить область контрольных значений
При щелчке этого значка отображаются переменные макроса. Значение переменной отображается в отдельном окне.
Включить область контрольных значений
Каталог объектов
Открывает панель Объекты , где можно посмотреть основные объекты.
Макросы
Позволяет открыть диалоговое окно Макрос .
Модули
Позволяет открыть диалоговое окно Управление макросами .
Найти скобку
Служит для выделения текста, заключённого в скобки. Поместите курсор перед открывающей или закрывающей скобкой и щёлкните этот значок.
Вставить исходный текст
Открытие исходного текста на Basic в окне «Basic IDE».
Вставить исходный текст
Сохранить исходный текст как
Сохранение исходного кода выбранного Basic-макроса.
Сохранить исходный текст как
Диалоговое окно импорта
Вызывает диалоговое окно «Открыть» для импорта диалогового файла BASIC.
Если имя импортированного диалогового окна уже существует в библиотеке, то отображается окно сообщения, в котором можно переименовать импортированный диалог. В этом случае диалоговое окно будет переименовано и получит первое доступное «автоматическое» имя (как при создании нового диалогового окна). Существующее диалоговое окно также можно заменить импортированным. При нажатии кнопки «Отмена» диалоговое окно не импортируется.
Диалоги могут содержать данные для локализации. При импорте диалогового окна может возникнуть несоответствие статуса локализации диалога.
Если библиотека содержит дополнительные языки, не присутствующие в импортированном диалоговом окне, или диалоговое окно не локализовано, то дополнительные языки будут автоматически добавлены в импортированное окно с помощью строк языка по умолчанию.
Если импортированное диалоговое окно содержит дополнительные языки, не присутствующие в библиотеке, или библиотека не локализована, то отображается запрос с кнопками «Добавить», «Пропустить» и «Отмена».
- «Добавить»: дополнительные языки из импортированного диалогового окна будут добавлены к существующему окну. Для новых языков будут использоваться ресурсы языка библиотеки по умолчанию. Эта операция идентична добавлению языков вручную.
- «Пропустить»: языковые параметры библиотеки не будут изменены. Ресурсы импортированного диалогового окна не копируются в библиотеку, а остаются в исходных файлах импортированного диалогового окна.
Диалоговое окно импорта
Диалоговое окно экспорта
В редакторе диалоговых окон эта команда вызывает диалоговое окно «Сохранить как», позволяющее экспортировать текущее диалоговое окно BASIC.
Диалоговое окно экспорта
Информатика в экономике и управлении
Свободное программное обеспечение для бизнеса и дома.
Страницы блога
среда, 30 октября 2013 г.
Использование инструмента «Запись макроса» в LibreOffice
Около 10 лет я использую Linux. Примерно лет 5 назад я начал использовать пакет OpenOffice, а 3 года назад — LibreOffice. К своему удивлению, и даже стыду, макросов, написанных для Calc у меня нет. А вот для Excel их за это время накопилось достаточно, начиная от простеньких формочек и формул и заканчивая мощными надстройками для предприятий, автоматизирующих подготовку информации. Сегодня дал себе зарок потихоньку начать изучать пакет и его возможности, в котором провожу довольно много времени.
Для большинства людей макрос — это что-то непонятное, и, пожалуй, лишнее изобретение. Для них оно не только не оптимизирует работу, но еще и увеличивает ее. Это мнение вызвано непониманием принципов использования макросов. Макросы используются тогда, когда необходимо выполнить какое-то действие много раз. Чаще всего это однотипная обработка документа (сложное форматирование, выборки), иногда формы для заполнения, формулы, расчеты для графиков. Отталкиваясь от этого и от своих предпочтений мы выбираем способ хранения наших макросов:
- глобальный (или надстройка) — доступный всегда при открытии программы;
- шаблонный — доступный при открытии конкретного шаблона;
- локальный — доступный при работе только в конкретном документе.
Последний используется реже, в основном в очень сложных интерактивных документах.
На сегодняшний день, только мелкие компании, у которых нет в штате IT-специалистов, пользуются офисными пакетами (не важно LibreOffice или MS Office) как они есть «из коробки». В большинстве же случаев, офисный пакет является только базой на которой развернуты надстройки, и сотрудник компании, часто, даже не подозревает сколько для него было сделано мелких, но очень удобных штучек, пока не уволится или не перейдет в другую компанию.
Изучение написания макросов в Excel советуют начать с инструмента «Записать макрос». Действительно, записывая кусочки действий, достаточно просто себе представить поверхностный уровень языка и API которым в последующем нужно будет пользоваться. Так же иногда, чтобы быстро создать несложный макрос, как бы «накидываешь его записывая» а потом шлифуешь, доводя до ума в редакторе кода.
Подключение инструмента «Записать макрос» в LibreOffice 4.1
В LibreOffice 4.1 по умолчанию функция «Записать макрос» отключена. Поэтому, первое что нужно сделать, это включить её: Сервис → Параметры (Tools → Options) раскрыть группу LibreOffice и в самом низу в пункте «Расширенные возможности» («Advanced») поставить галочку на против «Включить запись макросов(ограничено)» («Enable macro recording (limited)»).
После этого в вашем меню: Сервис → Макросы (Tools → Macros) появится пункт меню «Записать Макрос» («Record Macro»).
Использование инструмента «Запись макроса» в LibreOffice 4.1
Для демонстрации инструмента «Запись макросов» приведем простой пример:
1. Откроем новый документ Calc и сохраним его на диск под удобным для вас названием;
2. Выделим ячейку A1;
3. Включим запись макроса Сервис → Макросы → «Записать Макрос» (Tools → Macros → «Record Macro»). Появится панель с единственной кнопкой «Завершить Запись» («Stop Recording»);
5. Выделим ячейку B1 и нажмем «Завершить Запись» («Stop Recording»);
6. Откроется следующее окно:
Мы делаем макрос с доступом только в этом документе, поэтому, откроем пункт с названием документа (у меня article.ods, у вас это будет название, под которым вы сохранили документ) и выделим единственную присутствующую библиотеку Standard. В ней пока нет модулей, поэтому создадим его.
7. Нажмем кнопку «Создать модуль» («New Module») и в открывшемся окне введем имя модуля.
По умолчанию модуль создается с пустым макросом под названием Main. Введем в поле «Имя макроса» («Macro name») желаемое имя я ввел «Main») и нажмем «Записать» («Save») чтобы сохранить записанный нами макрос. В моём случае появится предупреждение, что такое название макроса уже есть.
Макрос записан, и если мы теперь сохраним документ, то макрос сохранится вместе с ним. А значит, каждый раз открывая этот документ, мы можем пользоваться этим макросом.
Запуск и редактирование макроса LibreOffice 4.1
Запустить макрос в LibreOffice 4.1 можно двумя способами.
Первый, открыть окно «Выполнить макрос»: Сервис → Макросы → «Выполнить макрос» (Tools → Macros → «Run Macro. »), выделить нужный макрос и нажать «Запустить».
Второй, открыть окно «LibreOffice BASIC»: Сервис → Макросы → «Управление макросами» → LibreOffice Basic. (Tools → Macros → «Organize Macros» → «LibreOffice Basic. »), выделить нужный макрос и нажать «Запустить».
Посмотреть и отредактировать код макроса в LibreOffice 4.1 можно открыв редактор макросов. Сервис → Макросы → «Управление макросами» → LibreOffice Basic. (Tools → Macros → «Organize Macros» → «LibreOffice Basic. »), выделив нужный макрос и нажав «Правка» («Edit»).
Вот и всё, пожалуй, что я хотел сказать по поводу инструмента «Запись макроса» в LibreOffice 4.1.
Дополнительная информация:
- Статьи по LibreOffice
- «Запись макроса» на сайте LibreOffice