Макросы в Excel: {инструкция} для чайников, что это, как их создать
Почти все люди страшатся употреблять макросы в Excel, поэтому что считают их достаточно сложными для осознания. Все поэтому, что они соединены с программированием. Но на практике все оказывается существенно проще, чем может показаться на 1-ый взор. Разберем, что такое макросы в Экель: {инструкция} для чайников, что же все-таки это такое, как их включить и создать, поможет для вас сориентироваться.
Что такое макрос в программке Эксель в VBA
Макрос — это запрограммированная последовательность действий (программка, процедура), записанная на языке программирования Visual Basic for Applications (VBA). Мы можем запускать его сколько угодно раз, заставляя Excel делать последовательность всех подходящих нам действий, которые нам не охото делать вручную.
В принципе, существует величавое огромное количество языков программирования (Pascal, Fortran, C++, C#, Java, ASP, PHP…), но для всех программ пакета Microsoft Office эталоном является конкретно интегрированный язык VBA. Команды этого языка осознает хоть какое офисное приложение, будь то Excel, Word, Outlook либо Access.
Для чего необходимы макросы в Эксель: подсказки для чайников
Перечислим некие задачки, в которых целенаправлено применение макросов:
- копирование выделенных данных из 1-го документа в конец другого;
- переформатирование активного документа для подгонки под требуемые характеристики печати;
- операции по преобразованию документов, разработанных иными редакторами, к примеру, текстов DOS;
- операции по форматированию таблиц;
- сохранение разных опций Word и резвое переключение меж ними;
- временное создание требуемых панелей инструментов.
Основой для записи макроса является язык WordBasic. Для сотворения относительно обычных вариантов познание этого языка необязательно: следует выполнить требуемую последовательность действий при включенном режиме записи. Эти деяния автоматом записываются как программка на WordBasic.
При работе можно выделить три шага:
- подготовка к записи;
- запись и редактирование;
- внедрение.
Перечень инструкций, составляющих макрос, обычно, состоит из макрооператоров. Некие операторы делают особенные деяния, связанные с выполнением самого макроса, но большая часть операторов соответствует командам меню и опциям диалоговых окон приложения.
Как включить макросы в программке Эксель
До этого чем начать работать с макросами, нужно разрешить их выполнение, т.к. по дефлоту они отключены. Для этого нужно создать последующее:
- Excel 2003: Сервис-Сохранность-Уровень макросов «Маленький».
- Excel 2007: Клавиша Кабинет-Характеристики Excel (Excel Options)-Центр управления сохранностью (Trust Centr)-Характеристики центра управления сохранностью (Trust Centr Settings)-Характеристики макросов (Macro Settings)-Разрешить все макросы (Enable All Macros).
- Excel 2010: Файл (File)-Характеристики (Options)-Центр управления сохранностью (Trust Centr)-Характеристики центра управления сохранностью (Trust Centr Settings)-Характеристики макросов (Macro Settings)-Разрешить все макросы (Enable All Macros).
Опосля конфигурации характеристик сохранности нужно перезапустить приложение Excel: закрыть его вполне и открыть поновой. Лишь опосля этого конфигурации вступят в силу.
Макрос записывается 2-мя методами: автоматом и вручную. Воспользовавшись первым вариантом, вы просто записываете определенные деяния в Microsoft Excel, которые выполняете в данный момент времени. Позже можно будет воспроизвести эту запись. Таковой способ весьма легкий и не просит познания кода, но применение его на практике достаточно ограничено. Ручная запись, напротив, просит познаний программирования, потому что код набирается вручную с клавиатуры. Но хорошо написанный таковым образом код может существенно убыстрить выполнение действий.
Как сделать макрос в Эксель с помощью Visual Basic: самоучитель с примерами
Для ввода установок и формирования программки, т.е. сотворения макроса нужно открыть особое окно — редактор программ на VBA, интегрированный в Microsoft Excel.
- В старенькых версиях (Excel 2003 и старше) для этого идем в меню Сервис—Макрос—РедакторVisual Basic(Toos — Macro — Visual Basic Editor).
- В новейших версиях (Excel 2007 и новее) для этого необходимо поначалу показать вкладку Разраб(Developer). Избираем Файл — Характеристики — Настройка ленты(File — Options — Customize Ribbon)и включаем в правой части окна флаг Разраб(Developer). Сейчас на показавшейся вкладке нам будут доступны главные инструменты для работы с макросами, в том числе и подходящая нам клавиша Редактор Visual Basic(Visual Basic Editor).
Макросы (т.е. наборы установок на языке VBA) хранятся в программных модулях. Доступ ко всем модулям осуществляется с помощью окна Project Explorer в левом верхнем углу редактора (если его не видно, нажмите CTRL+R). Программные модули бывают нескольких типов для различных ситуаций:
- Обыденные модули— употребляются в большинстве случаев, когда идет речь о макросах. Для сотворения такового модуля изберите в меню Insert — Module. В показавшееся окно новейшего пустого модуля можно вводить команды на VBA, набирая их с клавиатуры либо копируя их из другого модуля, с этого веб-сайта либо еще откуда нибудь.
- Модуль Эта книжка— также виден в левом верхнем углу редактора Visual Basic в окне, которое именуется Project Explorer. В этот модуль обычно записываются макросы, которые должны выполнятся при пришествии каких-то событий в книжке (открытие либо сохранение книжки, печать файла и т.п.).
- Модуль листа— доступен через Project Explorer и через контекстное меню листа, т.е. правой клавишей мыши по ярлыку листа — команда Начальный текст(View Source). Сюда записывают макросы, которые должны производиться при пришествии определенных событий на листе (изменение данных в ячейках, пересчет листа, копирование либо удаление листа и т.д.)
Если у вас нет способностей программирования, то пользоваться сиим методом создать макрос будет трудно.
Как создать макрос с помощью рекодера: подсказки для чайников
Чтоб создать макрос, воспользуйтесь обычной аннотацией для юзеров Эксель:
- Перейдите на вкладку «Разраб». Кликните по кнопочке «Запись макроса», которая размещена на ленте в блоке инструментов «Код».
- Раскрывается окно опции записи макроса. Здесь можно указать хоть какое имя для него, если установленное по дефлоту вас не устраивает. Основное, чтоб имя это начиналось с буковкы, а не с числа, также в заглавии не обязано быть пробелов. Мы оставили заглавие по дефлоту – «Макрос1».
- Здесь же при желании можно установить сочетание кнопок, при нажатии на которые макрос будет запускаться. Первой кнопкой непременно обязана быть Ctrl, а вторую юзер устанавливает без помощи других. Мы в качестве примера установили кнопку М.
- Дальше следует найти, где будет храниться макрос. По дефлоту он размещен в данной для нас же книжке (файле), но при желании можно установить хранение в новейшей книжке либо в отдельной книжке макросов. Мы оставим значение по дефлоту.
- В самом нижнем поле можно бросить хоть какое подходящее по контексту описание макроса, но это созодать не непременно. Когда все опции выполнены, нажимаем на клавишу «OK».
- Опосля этого все ваши деяния в данной книжке (файле) Excel будут записываться в макрос до того времени, пока вы сами не остановите запись.
- Для примера запишем простейшее арифметическое действие: сложение содержимого 3-х ячеек (=C4+C5+C6).
- Когда метод был выполнен, щелкаем на клавишу «Приостановить запись». Эта клавиша преобразовалась из клавиши «Запись макроса»опосля включения записи.
Макросы в Microsoft Excel могут существенно упростить выполнение рутинных и одинаковых действий. Тем не наименее в большинстве случаев для этого больше подступают макросы, код которых написан вручную, а не автоматом записанные деяния. Не считая того, его код можно улучшить через редактор VBE для убыстрения процесса выполнения задачки.
Пуск и редактирование макроса в Эксель с примерами
В режиме записи манипуляции мышью в поле текста ограничены. Потому операции по перемещению курсора, выделению текста и некие остальные следует делать с помощью клавиатуры.
Окончание записи макроса производится нажатием клавиши «Приостановить запись» на панели «Запись». При всем этом панель «Запись» исчезает, а курсор мыши приобретает обыденную форму.
Записанный макрос можно редактировать как текст WordBasic. Для этого обратитесь к меню Сервис/Макрос/Макросы…, изберите имя макроса и нажмите клавишу «Поменять». Окончание редактирования производится нажатием Alt + <дефис> (минус) либо Ctrl+W.
В котором формате сохранять макросы в таблице Эксель
Как ни удивительно, но начиная с версии 2007 Excel не все файлы могут хранить макросы. Это означает, что если макрос был записан в файле и позже файл был сохранен в формате, который хранение макросов не поддерживает, макросы пропадут. Excel в таком случае выдаст предупреждение о том, что проект VBA в файле этого формата не быть может сохранен и будет удален, если надавить Да. Чтоб сохранить файл с поддержкой макросов, нужно будет надавить Нет и из перечня форматов избрать тот, который поддерживает хранение макросов. Хранить макросы в версиях Excel 2007 и выше можно в форматах: xls, xla, xlsm, xlsb, xltm, xlsm.
Как добавить готовый макрос в рабочую книжку
Если у вас нет опыта, лучше добавлять готовый макрос в рабочие таблицы. Для вас поможет последующая {инструкция}:
#1 — Знакомство с макросами в Excel
Макрос – это записанная последовательность установок, которую потом делает Excel. Если гласить по другому, то это инструмент, позволяющий неоднократно повторять вашу записанную последовательность действий.
Да, звучит как-то удивительно и не понятно. Давайте разглядим обычной пример. Скажем, для вас необходимо выслать отчет вашему начальнику за этот месяц. Для этого вы выполняете такую последовательность действий:
- 1. Открываете файл Данные.xls.
- 2. Отбираете данные за крайние 30 дней.
- 3. Строите график.
- 4. Копируете график в новейшую книжку.
- 5. Сохраняете книжку в формате PDF.
- 6. Отправляете начальнику.
И так любой месяц. Не надоело ли? А ведь существует превосходный инструмент, который запомнит эту последовательность действий и будет их делать по одному щелчку мыши любой месяц. Конкретно этот инструмент и именуется макрос.
VBA – язык, на котором молвят макросы в Excel
Да, сейчас вы понимаете, что такое макрос в Excel, но, наверняка, для вас захотелось выяснить, как его создавать. Давайте по порядку.
Как и хоть какой человек, Excel имеет собственный свой язык. Вот скажем, мы разговариваем на российском, а Excel говорит на языке VBA. Чтоб писать макросы, для вас просто необходимо изучить это язык. Не пугайтесь, VBA весьма идентичен с английским. Давайте разглядим несколько примеров установок (предложений) этого языка.
- (1 команда) Workbook(“Бюджет.xls”).Save
- (2 команда) Worksheets(“Лист1”).Name = “Отчет”
- (3 команда) Range(“A1”).Font.Size = 20
Итак, 1 команда гласит: книжка Excel Workbook под именованием “Бюджет.xls” сохраняется с помощью команды .Save. Видите, все совершенно нетрудно.
Давайте разберем 2 команду: лист Excel Worksheets под именованием “Лист1” желает присвоить новое имя .Name = “Отчет”.
Ну, и 3 команда гласит, что ячейка под заглавием «А1» Range(“A1”) желает поменять размер шрифта .Font.Size до 20 пт.
Как вы видите, для вас необязательно обладать английским в совершенстве и уметь программировать, чтоб писать макросы. Довольно будет знать пару 10-ов британских слов и методы сотворения макросов.
Cпособы написания макросов в Excel
Давайте разглядим методы написания макросов в Excel:
- 1. С внедрением макрорекодера. Это инструмент, который записывает все деяния, которые производит юзер.
- 2. С внедрением готовых макросов. Вы просто находите готовый макрос и подстраиваете его под себя.
- 3. Сами с нуля. Тут для вас придется писать команды своими ручками. На 1-ый взор, кажется, что это самый непростой метод, но это совершенно не так, и вы скоро в этом удостоверьтесь.
Задачка этого курса отыскать золотую середину меж 3-мя этими методами.
Без практики теория мертва
Сейчас мы изучим автоматическую запись макросов в Excel с помощью макрорекодера. Давайте поначалу дадим «суровое» определение этому инструменту. Макрорекодер – это инструмент для записи действий юзера и перевода их в программный код.
Ну, а сейчас можно и попрактиковаться. Для начала подключим вкладку разраб в панели Excel. Для этого сделайте последующую последовательность действий: открыть Excel –> правой клавишей мыши по панели –> настройка ленты –> галочку на «Разраб» (в правом углу).
Сейчас вы сможете записать собственный 1-ый макрос в Excel. Просмотрите пристально, как это происходит на видеоуроке, а позже повторите у себя на компе.
На этом наш 1-ый видеоурок по написанию макросов в Excel закончится! С вами был LoftBlog, всем пока!
Макросы в excel самоучитель с примерами. Обучаемся писать макросы – Офисное место. Добавление клавиш макросов на вкладки.
В Microsoft Excel, как и в остальные приложения Microsoft Office, встроен интерпретатор языка программирования Visual Basic for Applications (VBA), что дает возможность создавать и запускать программки — макросы.
Используя среду разработки Visual Basic, юзер, владеющий познаниями в области программирования, может сделать макрос, обеспечивающий выполнение рутинных операций.
Когда вы это сделаете, если у вас есть обычные характеристики сохранности, вы увидите предупреждение в высшей части книжки, в котором говорится, что макросы отключены. Опосля импорта данных просто перейдите в меню «Макросы» и изберите «Просмотр макросов».
Опосля пуска вы сможете узреть, как курсор {перемещается} на несколько секунд, но, как и вы, вы увидите, что данные обрабатываются буквально так же, как мы его записывали. Когда все сказано и изготовлено, оно обязано смотреться так же, как и наше оригинальное, кроме различных данных.
Взор под капотом: что делает макрос работы
Открывающееся окно показывает начальный код, который был записан из наших действий при разработке макроса. Естественно, вы сможете редактировать этот код либо даже создавать новейшие макросы вполне снутри окна кода. Хотя действие записи, применяемое в данной для нас статье, возможно, будет соответствовать большинству потребностей, наиболее персонализированные деяния либо условные деяния потребуют от вас редактирования начального кода.
Макрос — это программка, написанная на языке программирования VBA и предназначенная для выполнения в среде Microsoft Excel. Основное предназначение макросов — автоматизация обработки документов, выполнение рутинной работы. К примеру, макрос может очистить рабочие ячейки бланка.
Запись макроса в Excel
Процесс записи макроса разглядим на примере.
- При записи макроса импортируйте файл данных, как обычно.
- Опосля импорта данных закончите запись макроса.
- Удалите все данные ячейки.
Поглядите это куцее видео, чтоб узреть шаги, и письменные аннотации находятся ниже видео. Если вы используете эти интегрированные функции, для вас может не пригодиться макрос. К примеру, заместо проверки каждой ячейки в столбце и ручной расцветки ячейки зеленоватым цветом, если она старше 50, используйте условное форматирование, чтоб автоматом выделить ячейки.
Пусть есть таблица, которая употребляется для дизайна заказов. В процессе работы, перед оформлением еще одного заказа, столбцы Код, Заглавие, Стоимость и Кол-во необходимо очистить. Запишем макрос, обеспечивающий выполнение данной для нас задачки.
Давайте разглядим методы сотворения макросов в Excel. Сперва Для вас нужно проверить настройку сохранности для того, что бы макросы были включены, по другому ничего не получится. Перейдите основное меню «Сервис-Макрос-Сохранность »
Постоянно начинайте запись с курсором в A1
- Откройте файл заказов.
- Отфильтруйте перечень для заказов на связывание.
- Скопируйте заказы на переплет.
- Сделайте новейшую книжку.
- Вставьте вложенные заказы в новейшую книжку.
Вы желаете, чтоб макрос открывал определенную книжку, либо эта книжка уже будет открыта? Если вы выбираете ячейку либо рабочий лист до пуска макроса либо выбираете ячейку частью макроса? В этом примере вы желаете, чтоб макрос открыл для вас книжку Заказов, а потом отфильтровал и скопировал данные. Потому, когда вы начинаете запись, книжка заказов обязана быть закрыта. Для вас не надо выбирать определенную ячейку либо рабочий лист перед записью, при выбирании макроса будет изготовлен хоть какой выбор ячейки.
Поставьте флаг уровня на низкую (при запуске книжек с макросами Excel вопросцев о блокировке не задает) либо среднюю (будет выдаваться предупреждение). Для учебных целей можно установить сохранность на низкую. Перезапустите Excel.
В Excel есть два метода сотворения макроса:
- Записать с помощью соответственного пт меню
- Сделать вручную
1-ый метод легкий и не просит никаких познаний в программировании. Довольно в главном меню избрать Сервис- >Макрос->Начать запись…
Когда все будет в порядке, вы сможете начать запись.
В этом примере это шаги, которые вы должны выполнить на данный момент. Скопируйте отфильтрованные заказы связывающего, включая строчку заголовка. . Если вы допустили ошибку — не неувязка! Просто закончите запись, закройте файлы без сохранения и начните поновой.
Разрешить внедрение макросов
Ваш браузер не может демонстрировать этот фрейм. Если ранее вы не запускали макросы, для вас может потребоваться поменять уровень сохранности макросов. Сейчас, когда вкладка «Разраб» видна, вы сможете приготовиться к тестированию макроса. Откройте файл макросов. Поначалу вы откроете файл, в котором хранится записанный макрос, и включите макросы, выполнив последующие деяния.
В открывшемся окне записи макроса нужно указать его имя, которое будет выводиться в перечне доступных макросов, можно добавить описание (для чего же макрос, создатель и т.д.), присвоить кнопку для резвого пуска и указать в какую книжку сохранить макрос. Опосля нажатия «OK » начнется запись
Как макросы помогают в работе?
Сейчас сделайте последующие шаги, чтоб запустить макрос, чтоб убедиться, что он работает так, как вы желаете.
Если все пойдет так, как ожидалось, непревзойденно! Вы сможете закрыть все 3 книжки, применяемые макросом, без сохранения конфигураций. При работе с малыми макросами просто впасть в нехорошие привычки программирования, но с большенными макросами и макросами, которые работают длительное время, очень принципиально употреблять действенное кодирование.
Сейчас, все что Вы будете созодать в рабочей книжке (добавлять, изменять, удалять, создавать сводные и т.д.) все будет записываться. Для примера напишите в ячейке B3=45, B4 = 5, а в В5 формулу «=В3+B4*10». Для остановки записи нужно надавить подобающую клавишу:
Опосля окончания записи наш макрос покажется в перечне Сервис->Макрос->Макросы ( Alt+ F8)
Деяния с объектами
1-ые 5 правил обычно оказывают наибольшее воздействие на производительность макросов. Правила с 6 по 11 оказывают незначимое воздействие. Направьте внимание, что мои оценки экономии времени ниже могут существенно различаться для вашего определенного приложения.
Отключение автоматического расчета электрических таблиц. Это правило отлично понятно, но это самое принципиальное правило. Воздействие включения автоматического расчета быть может драматичным. Если для вас необходимо перечесть значения электрических таблиц во время работы макроса, вы сможете употреблять всякую из последующих установок. 1-ая команда пересчитывает всю книжку. 2-ая команда лишь пересчитывает определенный лист. 3-я команда лишь пересчитывает определенный спектр.
Остается его лишь избрать и надавить «Выполнить ».
Все деяния, которые мы произвели во время записи, с точностью повторятся. Для проверки очистите лист и сделайте макрос. Но таковой метод не комфортен и фактически в предстоящем применить запись нереально т.к. отсутствует универсальность. Плюс в том, что мы записывая какие или деяния получаем готовый код, который в опытных руках становится всепригодным и затачивается под нужные задачки. Давайте разглядим, какой код был записан. Для этого нажмите клавишу «Поменять» в меню Сервис->Макрос->Макросы .
Когда макрос будет выполнен, нужно выполнить автоматический расчет, используя последующую команду. Обновление изображения является значимым перетащить на производительность. Последующая команда отключает обновления экрана. В конце макроса используйте последующую команду, чтоб опять включить обновления экрана.
Как макрос начинается, принципиально избегать ненадобных ссылок на рабочий лист. Захват данных из таблицы — это перетащить производительность. Опасайтесь чтения либо записи данных рабочего листа в циклах, когда это может быть. Еще резвее прочесть данные один раз и сохранить их в памяти, чем перечитывать их всякий раз.
Раскроется последующий код:
Sub Макрос1()
Range(«B3»).Select
ActiveCell.FormulaR1C1 = «45»
Range(«B4»).Select
ActiveCell.FormulaR1C1 = «5»
Range(«B5»).Select
ActiveCell.FormulaR1C1 = «=R[-2]C+R[-1]C*10»
Range(«B6»).Select
End Sub
Sub … End Sub – все макросы запускаемые через меню Сервис->Макрос->Макросы начинаются с главного слова Sub (процедура). Дальше следует заглавие процедуры «Макрос1», оно же имя нашего макроса которое указывается в момент начала записи. Пустые скобки неотклонимы! Следует учитывать, что «запускаемая» процедура не обязана содержать никаких характеристик, по другому макрос пропадет из перечня. Все процедуры в VB заканчиваются командой End Sub . Sub имеет доп главные слова Private и Public , определяющие зону видимости процедуры. О этом будет поведано в последующих статьях.
Код ниже наиболее чем в 100 раз резвее, чем код выше! Нередко интригующе оставлять формулы в электрической таблице и вызывать их из макроса. Но, если скорость принципиальна, расположите все формулы в макрос. Это минимизирует трафик и не просит пересчета электрических таблиц.
Чтение и запись блоков данных за одну операцию. По мере способности читать и записывать данные в кусочки. Для этого есть несколько методов. Вот вам наглядный пример чтения в большенном блоке данных в массив. Этот пример приблизительно в 50 раз резвее, чем чтение в каждой ячейке по отдельности в цикле.
Аналогичным образом, вот примеры записи массива назад в рабочий лист. Это правило было для меня необычным. Но приведенный ниже код наиболее чем в 80 раз резвее! Вы должны оценить воздействие перезаписи функции. Либо «Рабочий лист». Опасайтесь использования вариантов в формулах.
Range(« B3″). Select – эта и следующие команды были записаны когда мы выделяли ячейки B3, B4, B5.
ActiveCell.FormulaR1C1 – команда записывающая значение либо формулу в выделенную ячейку опосля знака равенства. Данная запись присвоения ячейке значения и формулы не весьма комфортна. На последующих уроках мы будем употреблять свойство Cells объекта рабочего листа Worksheet.
Не указывайте числовую переменную как вариант, если это нужно. Варианты весьма гибкие, так как они могут быть численными либо текстовыми, но они медлительно обрабатываются в формуле. Воздействие на эффективность невелико, но любой бит помогает. Направьте внимание, что это правило также применяется к хоть каким функциям, которые вы пишете. Строчки медлительно оцениваются. Опасайтесь оценки строк в коде последующим образом.
Что такое «Макрос»?
Перечисление присваивает переменную неизменное числовое значение. Перечисление может назначать цифровые значения по дефлоту либо назначать определенные значения. Булевой код приблизительно в 10 раз резвее, чем внедрение строк. Не выбирайте определенные рабочие листы, если это нужно.
Вот и все. Простые деяния записаны, но вот лишь такую запись на практике не применить.
2-ой метод, запись кода VBA вручную. Данный метод будет рассмотрен на последующем уроке и на всех следующих, будем работать лишь вторым методом.
Ну и в итоге, видео-демонстрация записи макроса.
Видео: Запись макроса в Excel
Обычно для вас не надо употреблять команду «Избрать» для чтения либо записи на рабочий лист. Это приблизительно в 30 раз резвее, чем не избрать рабочий лист. В качестве актуариев мы любим макросы, полные формул. Нередко формулы не так эффективны, как должны быть. В приведенном ниже примере макрос рассчитывает каждомесячное значение фонда, возрастающего с 5-процентным годичным фактическим процентом в течение 50 лет.
Наиболее отлично преобразовать годичную процентную ставку в месячную ставку, как показано ниже. В приведенном выше примере употребляются четыре числовые операции в цикле и, как следует, приблизительно в четыре раза медлительнее. Также направьте внимание, что экспоненциация происходит медлительнее, чем сложение, вычитание, умножение либо деление.
Глава 13 – Работа с макросами в LibreOffice¶
Почаще всего, макрос это сохранённая последовательность установок либо нажатий кнопок, предназначенная для следующего использования. К примеру, можно сохранить и «впечатывать» собственный адресок. Язык программирования LibreOffice весьма гибок и дозволяет заавтоматизировать как обыкновенные, так и сложные задачки. Макросы нередко употребляются, когда мы желаем повторять ещё и ещё раз определённую последовательность действий в похожих критериях.
Макросы в LibreOffice обычно записываются на языке, именуемом LibreOffice Basic либо просто Basic. Естественно можно длительно изучить Basic и в конце концов начать программировать, но это управление поможет для вас сходу решать обыкновенные задачки. Начинающие юзеры нередко с фуррором используют макросы, написанные кем-либо иным. Также, можно употреблять функцию записи макросов, чтоб сохранить последовательность нажатий кнопок и употреблять её ещё раз.
Большая часть действий в LibreOffice производятся путём отправки команды (посылки команды, dispatching a command), которая перехватывается и производится. Функция записи макросов дозволяет записать конкретные команды, которые обрабатываются (смотрите Платформа диспетчера).
Ваш 1-ый макрос¶
Добавление макроса¶
1-ый шаг в исследовании программирования макросов, это отыскать и употреблять имеющиеся макросы. В этом разделе предполагается, что у вас уже имеется макрос, который вы желаете употреблять. Вы могли отыскать его в Вебе либо в какой-либо книжке. Разглядим пример 1. Чтоб записать этот макрос, вы должны за ранее сделать библиотеку и модуль, и уже в модуле написать текст макроса, смотрите Организация макросов.
Пример 1: Обычной макрос, который пишет “Hello, World”:
Чтоб сделать библиотеку, нужно выполнить последующие шаги:
- Выберете пункты головного меню Сервис ‣ Макросы ‣ Управление макросами ‣ LibreOffice Basic , чтоб открыть диалог работы с макросами Libreoffice Basic.
Диалог работы с макросами LibreOffice Basic
- Нажмите Управление, чтоб открыть диалог устроителя макросов и изберите вкладку Библиотеки.
- Изберите в выпадающем перечне Приложение/Документ пункт Мои макросы и диалоги.
Диалог устроителя макросов LibreOffice Basic
- Нажмите Сделать, чтоб открыть диалог сотворения новейшей библиотеки.
- Введите имя библиотеки, к примеру, TestLibrary и нажмите OK.
- Изберите вкладку Модули.
- В перечне модулей раскройте Мои макросы и изберите TestLibrary. Модуль с именованием Module1 уже существует, он может содержать ваши макросы. Если нужно, том можно надавить Сделать, чтоб сделать иной модуль в библиотеке.
- Изберите Module1 либо новейший модуль, который вы сделали и нажмите Правка, чтоб открыть интегрированную среду разработки (IDE). Встроенная среда разработки это текстовый редактор, включённый в LibreOffice, который дозволяет создавать и редактировать макросы.
Встроенная среда разработки макросов
- Опосля сотворения новейшего модуля он содержит комментарий и пустой макрос, нареченный Main, который ничего не делает.
- Добавьте новейший макрос либо до Sub Main либо опосля End Sub . В примере ниже приведен новейший макрос, который был добавлен до Sub Main .
Пример 2: Module1 опосля прибавления новейшего макроса:
- Нажмите на значок Составлять на панели инструментов, чтоб откомпилировать макрос.
- Поставьте курсор в функцию HelloMacro и нажмите на значок Выполнить BASIC на панели инструментов либо нажмите кнопку F5 , чтоб выполнить HelloMacro в модуле. Раскроется небольшой диалог со словом Привет . Если курсор не находится снутри процедуры Sub либо функции Function , раскроется диалог выбора макроса для пуска.
- Нажмите OK, чтоб закрыть диалог.
- Чтоб избрать и выполнить хоть какой макрос в данном модуле, нажмите значок Избрать макрос на обычной панели инструментов либо изберите Сервис ‣ Макросы ‣ Управление макросами ‣ LibreOffice Basic .
- Изберите макрос и нажмите Выполнить.
Запись макросов¶
Если вы желаете неоднократно ввести схожую информацию, вы сможете скопировать эту информацию опосля того, как она введена в 1-ый раз, потом вставлять эту информацию в ваш документ всякий раз при необходимости. Но, если вы скопировали в буфер обмена что-то ещё, содержимое буфера изменяется. Это значит, что вы должны поновой скопировать вашу повторяющуюся информацию. Чтоб обойти эту делему, вы сможете сделать макрос, который в процессе выполнения вводит подходящую для вас информацию.
Для неких типов неоднократно вводимой в документах инфы наиболее комфортно сделать файл автотекста. Описание работы с автотекстом смотрите в справочной системе и в главе Глава 3 – Внедрение Стилей и Шаблонов данного управления.
- Удостоверьтесь, что функция записи макросов активизирована, выбрав Сервис ‣ Характеристики ‣ LibreOffice ‣ Расширенные способности . Установите флаг Включить запись макросов. По дефлоту эта функция отключена, когда LibreOffice в первый раз установлен на ваш комп.
- Изберите Сервис ‣ Макросы ‣ Записать макрос из головного меню, чтоб запустить запись макроса. Покажется небольшой диалог, подтверждающий, что LibreOffice записывает ваши деяния.
Диалог записи макроса
- Наберите желаемую информацию либо сделайте нужные деяния. К примеру, напечатайте ваше имя.
- Нажмите Окончить запись в небольшом диалоге, чтоб приостановить запись, и покажется диалог работы с макросами LibreOffice.
- Откройте библиотечный контейнер Мои макросы.
- Найдите библиотеку с именованием Standard в Моих макросах. Направьте внимание, что любой библиотечный контейнер содержит библиотеку Standard .
- Изберите библиотеку Standard и нажмите Сделать модуль, чтоб сделать новейший модуль, содержащий макросы. Раскроется диалог сотворения модуля.
Диалог сотворения модуля
- Задайте заглавие для новейшего модуля, к примеру, Recorded и нажмите OK, чтоб сделать модуль. В диалоге работы с макросами сейчас виден этот новейший модуль в составе библиотеки Standard .
- В поле Имя макроса напечатайте имя для макроса, который вы лишь что записали, к примеру, EnterMyName .
- Нажмите Записать, чтоб сохранить макрос и закрыть диалог работы с макросами.
- Если вы правильно выполнили все шаги, описанные выше, библиотека Standard сейчас содержит модуль Recorded , и этот модуль содержит макрос EnterMyName .
Когда LibreOffice создаёт новейший модуль, в этот модуль автоматом добавляется процедура с именованием Main .
Пуск макроса¶
- Изберите Сервис ‣ Макросы ‣ Выполнить макрос , чтоб открыть диалог выбора макроса.
- К примеру, изберите ваш лишь что сделанный макрос EnterMyName и нажмите Выполнить.
- Можно также вызвать из головного меню Сервис ‣ Макросы ‣ Управление макросами ‣ LibreOffice Basic , чтоб открыть диалог работы с макросами, избрать ваш макрос и надавить Выполнить.
Диалог выбора макроса
Просмотр и редактирование макросов¶
Чтоб просмотреть либо отредактировать сделанные вами макросы сделайте:
- Сервис ‣ Макросы ‣ Управление макросами ‣ LibreOffice Basic , чтоб открыть диалог работы с макросами.
- Изберите ваш новейший макрос EnterMyName и нажмите Правка, чтоб открыть макрос в встроенной среде разработки.
Макрос EnterMyName не так сложен, как может показаться. Исследование нескольких вещей значительно поможет в осознании макросов. Начнём поначалу и поглядим на самую первую строчку примера.
Макрос EnterMyName не так сложен, как может показаться. Исследование нескольких вещей значительно поможет в осознании макросов. Начнём поначалу и поглядим на самую первую строчку примера.
Пример 3: Сгенерированный макрос EnterMyname :
Комменты¶
Подробные комменты являются нужной частью программки. Без объяснений и сам программер часто запамятывает, что все-таки он написал несколько недель (а может и месяцев либо лет) тому вспять.
Все комменты в макросах начинаются с главного слова REM . Весь текст строчки опосля REM игнорируется компом при выполнении макроса. Можно также употреблять знак одинарной кавычки ( ‘ ), чтоб начать комментарий.
Главные слова в LibreOffice Basic могут быть записаны в любом регистре, таковым образом REM , Rem , и rem могут начинать комментарий. Если вы используете символические константы, определяемые в программном интерфейсе приложения (Application Programming Interface, API), безопаснее считать, что имена чувствительны к регистру. Символические константы не описаны в данном руководстве, они не необходимы, когда вы используете функцию записи макросов в LibreOffice.
Определение процедур¶
Отдельные макросы сохраняются в процедурах, которые начинаются с главного слова SUB . Окончание процедуры обозначается END SUB . Код модуля в примере 3 начинается с определения процедуры, нареченной Main, в которой нет ничего, и она ничего не делает. Последующая процедура, EnterMyName , содержит сгенерированный код вашего макроса.
Когда LibreOffice создаёт новейший модуль, в этот модуль постоянно автоматом добавляется процедура с именованием Main .
Существует много полезной инфы, не вошедшей в данное управление, но познание о ней очень любопытно:
- Вы сможете написать процедуры, которые употребляют некие “входные” величины, именуемые аргументами. Но, функция записи макросов не предоставляет способности употреблять аргументы в процедурах.
- Кроме процедур есть также функции, которые могут “возвращать” значение. Функции определяются главным словом FUNCTION в начале. Но, записанные макросы, – это постоянно процедуры, а не функции.
Определение переменных¶
Вы сможете записать информацию на листе бумаги и позже пользоваться данной для нас информацией. Переменные, подобно листу бумаги, содержат информацию, которую можно изменять либо читать. Ключевое слово Dim употребляется для описания типа переменной и для задания размерности массивов. Оператор dim в макросе EnterMyName употребляется подобно подготовке листа бумаги для записи инфы.
В макросе EnterMyName переменные document и dispatcher определены с типом object (объект). Остальные нередко применяемые типы переменных включают string (строчка), integer (целое) и date (дата). 3-я переменная с именованием args1 – это массив значений параметров. Массивы это переменные, содержащие несколько величин, подобно тому, как в одной книжке содержится несколько страничек. Величины в массивах обычно нумеруются начиная с нуля. Число в скобках задаёт наибольший номер, применяемый для доступа к элементу массива. В данном примере в массиве содержится лишь одна величина, и она имеет номер ноль.
Как это работает¶
Разберёмся наиболее тщательно с кодом макроса EnterMyName . Быть может вы и не поймёте всех тонкостей, но разбор каждой строчки в коде дозволит для вас понять то, как работают макросы.