Макрос — это программный алгоритм, который выполняет какие-то рутинные задачи. Макрос — это народное название алгоритма, которое очень хорошо прижилось в лексиконе. Более корректное употребление названия для таких алгоритмов — это макрокоманда. А слово «макрос» распространилось благодаря применению таких алгоритмов в продуктах компании Microsoft.
Есть два больших направления, где применяется макрос:
в программном обеспечении;
в программировании.
Что такое макрос в программном обеспечении
Макрос в программном обеспечении — это специальный инструмент в программах типа Microsoft Office, который помогает пользователям автоматизировать рутинные задачи. Макросы есть в каждом подобном пакете офисных программ, вернее, в каждом его отдельном инструменте. Например: Word, Excel, Power Point.
Макрос — это набор инструкций, который указывает программе, что нужно делать. Его можно сравнить с кулинарным рецептом, который записывают, чтобы потом можно было приготовить еду еще раз. Инструкции в макросе состоят из небольших макро-операторов, которые регулируют действия программы.
Что можно делать при помощи макросов:
копировать выделенную информацию из одного документа в другой;
форматировать напечатанный документ для подгонки под параметры для печати;
преобразовывать документы, разработанные для других редакторов, например, документ для LibreOffice в документ для Microsoft Word;
форматировать таблицы;
сохранять различные настройки программы и быстро переключаться между ними;
оформлять таблицы: строки, столбцы, ячейки;
и др.
Для записи макросов был разработан специальный язык программирования — VBA, он же Visual Basic. Но не нужно пугаться, что для макросов нужно изучать язык программирования. Для сложных макросов — да, но не для простых. Простые макросы делаются путем записи ваших действий. То есть:
запускается средство записи макроса;
выполняются действия, которые нужно автоматизировать;
потом средство записи конвертирует действия в язык VBA;
макрос будет сохранен, и его всегда можно будет вызвать.
На начальных этапах средств записи макроса будет достаточно. Изучать VBA для макросов нужно в том случае, когда присутствует необходимость автоматизировать сложные задачи в таблицах. Важно запомнить: когда макрос формируется при помощи средства записи, оно записывает все действия пользователя. Поэтому важно перед записью макроса потренироваться в действиях, чтобы записать только то, что действительно нужно. Записать макрос можно и в текстовом редакторе, и в редакторе таблиц.
Как выглядит макрос на VBA
Макрос может быть сложным алгоритмом. Чтобы у вас было понимание, как он выглядит на VBA, мы подготовили небольшой макрос для таблицы Excel:
Sub Meniaem znacenie ()
Selection.Interior.ColorIndex = 6
For Each cell in Selection
cell.Formula = cell.Value
Next cell
MsgBox "Заменили все: цвет и значения"
End Sub
Разбираем, что мы написали:
макрос на VBA всегда начинается со слова «Sub» и оканчивается словами «End Sub»;
все, что находится между этими двумя операторами, и есть тело макроса, то есть это команды для программы;
в нашем случае мы залили ячейки из диапазона «Selection» желтым цветом с кодом «6»;
потом прошлись по всем выделенным ячейкам и заменили формулы на их значения;
и в конце вывели на экран «Заменили все: цвет и значение».
Это простой макрос. Для макросов посложнее нужно знать VBA, чтобы понимать, какими операторами можно манипулировать.
Что такое макрос в программировании
В некоторых низкоуровневых языках, например, в языках ассемблера или С, С++, Lisp, Scala и др., также применяется макрос. Как и с программным обеспечением, макрос — это набор инструкций, только в этом случае инструкции предназначаются для препроцессора.
Макрос в программировании может быть 2-х типов:
быть подобным объекту и не иметь никаких аргументов;
быть подобным функции и иметь аргументы.
Причем макросы не являются ни объектами, ни функциями. Большинство программистов предпочитают использовать макросы в качестве функций, потому что в ряде случаев это улучшает производительность кода. Однако использование макросов не рекомендуется, потому что они таят в себе ряд проблем. Например:
при отсутствии скобок во время объявления аргументов может произойти неопределенное выполнение макроса;
инкремент и декремент;
передача функций при помощи макроса вызывает серьезные проблемы с производительностью;
многострочные макросы приводят к непредвиденным результатам;
и др.
Заключение
Макрос — это способ автоматизировать рутину, если рассматривать его в контексте программного обеспечения. На самом деле, правильное использование макросов в несколько раз ускоряет работу в текстовых и табличных редакторах.
Что касается программирования, то применение макросов там не рекомендовано, потому что при малейшей оплошности макрос способен вызвать кучу ненужных проблем.
Другое