Макрос

Материал из Циклопедии
Перейти к навигации Перейти к поиску

Макрос (макроподстановка, макроопределение), в разработке программного обеспечения — последовательность инструкций или деклараций, объединенных под определенным условным обозначением (именем макроса) для того, чтобы их можно было выполнить (вместо отдельных инструкций в нескольких местах программы) одним простым вызовом.[1]

Все инструкции макроса автоматически выполняются в той точке программы, где был вызван (упомянут) макрос.

Макросы являются вариантом подпрограммы и могут (в зависимости от реализации) также вызываться с aргументами (параметрами). Различают системные макросы (такие как OPEN для открытия файлов и PRINT для печати) и макросы, созданные самими пользователями — например, для выполнения функций проверки или вычисления, таких как проверка достоверности идентификатора IBAN (международного номера банковского счёта).

Макросы используются, например, в электронных таблицах, текстовых редакторах и базах данных. Работа с этими программами облегчается и ускоряется благодаря тому, что часто используемая последовательность команд может быть вызвана с помощью макроса. В зависимости от типа программного обеспечения макросы также могут вызываться с помощью клавиш или с помощью имени меню.

Макросы могут быть закодированы с использованием одного из языков программирования (например, Assembler, BASIC, Pascal). Также возможно использование отдельного языка программирования в программном обеспечении (например, Microsoft Office). В этом случае язык программирования может быть связан с программным обеспечением (например, программирование в Microsoft Excel с помощью VBA) или использоваться для программирования в целом (например, решения математической задачи).

Этимология[править]

Слово «макро» заимствовано из термина «макроинструкция», буквально означающего «большая инструкция» (греч. makros «большой»).

Макросы в программировании[править]

Макрос в программировании — это небольшой фрагмент программный код, который заменяется интерпретатором или препроцессором на более крупный фрагмент программного кода. Это позволяет упростить часто повторяющиеся структуры программы с помощью сокращений или заменить литеральные константы на семантические.

  • Программы, которые заменяют строки другими строками, называются макропроцессорыми. Определение строки, которую нужно заменить, называется в нем макросом. Известными макропроцессорами являются препроцессор C или C++, макропроцессор Unix m4 и программы для набора текста troff и TeX. В макроассемблер такой макропроцессор используется для более простого определения повторяющихся структур.
  • В языках программирования, таких как Lisp, макросы — это метапрограммы, которые сначала преобразуются в исполняемый программный код во время трансляция. Макросы используются там для отображения повторяющихся структур программы: Каждый разработчик может реализовать новые управляющие структуры, паттерны проектирования, ООП-конструкции и т. д. непосредственно в языке, если это необходимо (абстракция синтаксиса). В языках программирования без макросов это потребовало бы изменений в определении языка.

Макросы в прикладных программах[править]

В данном случае не программисты, а пользователи программного обеспечения могут эффективно комбинировать определенные этапы работы с помощью макросов.

  • В Windows автоматизация интерфейса называется «макросом». Многие прикладные программы (например, программы группы Microsoft Office, такие как Word, Excel, PowerPoint или Outlook) позволяют записывать типичные последовательности команд и операционных действий в виде макросов (см. Макрорекордер). В большинстве прикладных программ Microsoft используется язык программирования Visual Basic for Applications. (VBA) служит в качестве рабочего языка. В прикладных программах группы Microsoft Office записанный код макроса VBA можно просмотреть и в дальнейшем редактировать в среде разработки VBA, встроенной в само приложение, с помощью редактора Visual Basic Editor. Код макроса VBA в приложениях Microsoft Office очень похож на язык программирования Visual Basic. Однако особенностью VBA является возможность прямого доступа к специфическим для приложения объектам. Microsoft Excel также позволяет записанный код VBA упаковывать как AddIn и передавать его дальше. Согласно приведенному выше определению (замена маленького текста большим), VBA макросы на самом деле являются не макросами, а независимыми небольшими программами, которым требуется интерпретатор VBA в качестве среды выполнения.
  • В Microsoft Access специальный тип программирования в табличной форме также называется макросом, хотя эти макросы также могут быть объединены с VBA.
  • В некоторых программах CAD сборные детали, которые можно добавлять из библиотеки, называются макросами. Поэтому архитектору не нужно заново рисовать каждую раковину, а проектировщик электрики может воспользоваться готовыми выключателями и розетками. Это значение макроса для строительного блока контрастирует с другими значениями, согласно которым макрос — это, как правило, что-то, что может быть выполнено.

Источники[править]

  1. Duden Sachlexikon Informatik, 'Makrobefehl', ISBN 3-411-05232-5.

Ссылки[править]

Runi.svg Одним из источников этой статьи является статья в википроекте «Руниверсалис» («Руни», руни.рф), называющаяся «Макрос».
Материал указанной статьи полностью или частично использован в Циклопедии по лицензии CC BY-SA.
Всем участникам Руниверсалиса предлагается прочитать «Обращение к участникам Руниверсалиса» основателя Циклопедии и «Почему Циклопедия?».