Другое

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

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-х типов:

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

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

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

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

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

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

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

  • и др.

Заключение

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

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

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

Самый длинный текст для спама, генераторы бессмысленного текста
Другое

Самый длинный текст для спама, генераторы бессмысленного текста

Простой скрипт сокращения ссылок на языке программирования PHP
Другое

Простой скрипт сокращения ссылок на языке программирования PHP

Другое

MacBook Pro: замена оперативной памяти. Как ее увеличить

Парное программирование: как это работает и насколько эффективно?
Другое

Парное программирование: как это работает и насколько эффективно?