Програмиране на макроси в Microsoft Office

Макросът е наименувана последователност от команди (езични изрази на VBA), които потребителят може да запише и след това да извика за изпълнение.

VBA (Visual Basic за приложения) е обектно-ориентиран език за програмиране, специално създаден за запис на макроси в приложения.

Макросът се състои главно от макрокоманди, които са тясно свързани с командите на приложението, в което е създаден, т.е. с команди от MS Word, MS Excel или други Microsoft Office приложения.Макро команда - последователност от команди, която е дадена като малка програма.

Някои от макросите изпълняват специфични за макроси действия, но повечето отговарят на команди от менюто или опции, зададени в диалогови прозорци.

Например макросът ActiveDocument.Save в MS Word или ActiveWorkbook.Save в MS Excel работи точно като командата от менютоФайл - Запазване.

Макросите често се използват за следните цели:

за ускоряване на често изпълнявани операции за редактиране или форматиране;

• за комбиниране на няколко команди (например за вмъкване на таблица с зададени размери и определен брой редове и колони);

• за опростяване на достъпа до параметрите в диалоговите прозорци;

• за автоматизиране на обработката на сложни последователни действия в задачите.

Има три основни типа макроси:

Командни макроси са най-често срещаните макроси, обикновено състоящи се от изрази, които са еквивалентни на определени команди от менюто или опции на диалогов прозорец.

• вмъкване или форматиране на част от текст в MS Word;

• промяна на работен лист или работно пространство в MS Excel;

• записване или извеждане къмпечат и др.

nПотребителски дефинираните функции работят подобно на вградените в MS Excel функции.

n Тези функции се различават от командните макроси по това, че използват стойностите на предадените им аргументи, извършват някои изчисления и връщат резултата до точката на извикване, но не променят средата на приложението.

Макро функциите са комбинация от командни макроси и дефинирани от потребителя функции. Те могат да приемат аргументи и да връщат резултат, точно както дефинираните от потребителя функции, те също могат да променят средата на приложението, точно като командните макроси.

Ако е необходимо да се извърши поредица от идентични действия в различни макроси, тогава обикновено тези действия се отделят в отделна макро функция (подпрограма), която се извиква винаги, когато трябва да се извършат тези повтарящи се действия.