среда, 30 октября 2013 г.

Использование инструмента «Запись макроса» в LibreOffice

Около 10 лет я использую Linux. Примерно лет 5 назад я начал использовать пакет OpenOffice, а 3 года назад - LibreOffice. К своему удивлению, и даже стыду, макросов, написанных для Calc у меня нет. А вот для Excel их за это время накопилось достаточно, начиная от простеньких формочек и формул и заканчивая мощными надстройками для предприятий, автоматизирующих подготовку информации. Сегодня дал себе зарок потихоньку начать изучать пакет и его возможности, в котором провожу довольно много времени.



Для большинства людей макрос - это что-то непонятное, и, пожалуй, лишнее изобретение. Для них оно не только не оптимизирует работу, но еще и увеличивает ее. Это мнение вызвано непониманием принципов использования макросов. Макросы используются тогда, когда необходимо выполнить какое-то действие много раз. Чаще всего это однотипная обработка документа (сложное форматирование, выборки), иногда формы для заполнения, формулы, расчеты для графиков... Отталкиваясь от этого и от своих предпочтений мы выбираем способ хранения наших макросов:
  • глобальный (или надстройка) — доступный всегда при открытии программы;
  • шаблонный — доступный при открытии конкретного шаблона;
  • локальный — доступный при работе только в конкретном документе.
Последний используется реже, в основном в очень сложных интерактивных документах.
На сегодняшний день, только мелкие компании, у которых нет в штате IT-специалистов, пользуются офисными пакетами (не важно LibreOffice или MS Office) как они есть «из коробки». В большинстве же случаев, офисный пакет является только базой на которой развернуты надстройки, и сотрудник компании, часто, даже не подозревает сколько для него было сделано мелких, но очень удобных штучек, пока не уволится или не перейдет в другую компанию.

Изучение написания макросов в Excel советуют начать с инструмента «Записать макрос». Действительно, записывая кусочки действий, достаточно просто себе представить поверхностный уровень языка и API которым в последующем нужно будет пользоваться. Так же иногда, чтобы быстро создать несложный макрос, как бы «накидываешь его записывая» а потом шлифуешь, доводя до ума в редакторе кода.

Подключение инструмента «Записать макрос» в LibreOffice 4.1

В LibreOffice 4.1 по умолчанию функция «Записать макрос» отключена. Поэтому, первое что нужно сделать, это включить её: СервисПараметры (ToolsOptions) раскрыть группу LibreOffice и в самом низу в пункте «Расширенные возможности» («Advanced») поставить галочку на против «Включить запись макросов(ограничено)» («Enable macro recording (limited)»).

Подключение инструмента Записать макрос в LibreOffice 4.1

После этого в вашем меню: Сервис → Макросы (Tools → Macros) появится пункт меню «Записать Макрос» («Record Macro»).

Пункт меню Сервис Макросы в LibreOffice 4.1

Использование инструмента «Запись макроса» в LibreOffice 4.1

Для демонстрации инструмента «Запись макросов» приведем простой пример:
1. Откроем новый документ Calc и сохраним его на диск под удобным для вас названием;
2. Выделим ячейку A1;
3. Включим запись макроса Сервис → Макросы → «Записать Макрос» (Tools → Macros → «Record Macro»). Появится панель с единственной кнопкой «Завершить Запись» («Stop Recording»);
5. Выделим ячейку B1 и нажмем «Завершить Запись» («Stop Recording»);
6. Откроется следующее окно:
Макросы LibreOffice BASIC
Мы делаем макрос с доступом только в этом документе, поэтому, откроем пункт с названием документа (у меня article.ods, у вас это будет название, под которым вы сохранили документ) и выделим единственную присутствующую библиотеку Standard. В ней пока нет модулей, поэтому создадим его.
7. Нажмем кнопку «Создать модуль» («New Module») и в открывшемся окне введем имя модуля.

Создание модуля в LibreOffice 4.1

По умолчанию модуль создается с пустым макросом под названием Main. Введем в поле «Имя макроса» («Macro name») желаемое имя я ввел «Main») и нажмем «Записать» («Save») чтобы сохранить записанный нами макрос. В моём случае появится предупреждение, что такое название макроса уже есть.

Заменить существующий макрос Main?

Макрос записан, и если мы теперь сохраним документ, то макрос сохранится вместе с ним. А значит, каждый раз открывая этот документ, мы можем пользоваться этим макросом.

Запуск и редактирование макроса LibreOffice 4.1

Запустить макрос в LibreOffice 4.1 можно двумя способами.
Первый, открыть окно «Выполнить макрос»: Сервис → Макросы → «Выполнить макрос» (Tools → Macros → «Run Macro...»), выделить нужный макрос и нажать «Запустить».

Окно выбора макроса в LibreOffice 4.1

Второй, открыть окно «LibreOffice BASIC»: Сервис → Макросы → «Управление макросами» → LibreOffice Basic... (Tools → Macros → «Organize Macros» → «LibreOffice Basic...»), выделить нужный макрос и нажать «Запустить».

Окно макросы LibreOffice BASIC

Посмотреть и отредактировать код макроса в LibreOffice 4.1 можно открыв редактор макросов. Сервис → Макросы → «Управление макросами» → LibreOffice Basic... (Tools → Macros → «Organize Macros» → «LibreOffice Basic...»), выделив нужный макрос и нажав «Правка» («Edit»).
Вот и всё, пожалуй, что я хотел сказать по поводу инструмента «Запись макроса» в LibreOffice 4.1.

Дополнительная информация: