Другое

Макрос: определение, предназначение, применение и примеры кода

Lorem ipsum dolor

Макрос — это программный алгоритм, который выполняет какие-то рутинные задачи. Макрос — это народное название алгоритма, которое очень хорошо прижилось в лексиконе. Более корректное употребление названия для таких алгоритмов — это макрокоманда. А слово «макрос» распространилось благодаря применению таких алгоритмов в продуктах компании 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-х типов:

  • быть подобным объекту и не иметь никаких аргументов;

  • быть подобным функции и иметь аргументы.

Причем макросы не являются ни объектами, ни функциями. Большинство программистов предпочитают использовать макросы в качестве функций, потому что в ряде случаев это улучшает производительность кода. Однако использование макросов не рекомендуется, потому что они таят в себе ряд проблем. Например:

  • при отсутствии скобок во время объявления аргументов может произойти неопределенное выполнение макроса;

  • инкремент и декремент;

  • передача функций при помощи макроса вызывает серьезные проблемы с производительностью;

  • многострочные макросы приводят к непредвиденным результатам;

  • и др.

Заключение

Макрос — это способ автоматизировать рутину, если рассматривать его в контексте программного обеспечения. На самом деле, правильное использование макросов в несколько раз ускоряет работу в текстовых и табличных редакторах.

Что касается программирования, то применение макросов там не рекомендовано, потому что при малейшей оплошности макрос способен вызвать кучу ненужных проблем.

Схожие статьи

Другое

APFS или APFS (зашифрованный) — какому из них отдать предпочтение?

Lumberyard от Amazon: движок, который способен на очень многое
Другое

Lumberyard от Amazon: движок, который способен на очень многое

Instant Apps: что это такое, зачем нужно и как это работает?
Другое

Instant Apps: что это такое, зачем нужно и как это работает?

Специалист широкого профиля: кто это и какие отличия от узкого специалиста?
Другое

Специалист широкого профиля: кто это и какие отличия от узкого специалиста?