Програмиране на макроси в 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 Тези функции се различават от командните макроси по това, че използват стойностите на предадените им аргументи, извършват някои изчисления и връщат резултата до точката на извикване, но не променят средата на приложението.
Макро функциите са комбинация от командни макроси и дефинирани от потребителя функции. Те могат да приемат аргументи и да връщат резултат, точно както дефинираните от потребителя функции, те също могат да променят средата на приложението, точно като командните макроси.
Ако е необходимо да се извърши поредица от идентични действия в различни макроси, тогава обикновено тези действия се отделят в отделна макро функция (подпрограма), която се извиква винаги, когато трябва да се извършат тези повтарящи се действия.