Если некоторый набор макрокоманд будет использоваться в нескольких макросах, то вместо того чтобы включать эти команды в каждый макрос, пользователь имеет возможность создать макрос, содержащий эти макрокоманды, и вызывать его из других макросов.
Вызов макроса выполняется макрокомандой "ЗапускМакроса". Макрокоманда вводится в той позиции макроса, из которой должен вызываться другой макрос.
Аргументы макрокоманды "ЗапускМакроса":
r <имя макроса>. Если запускаемый макрос входит в группу макросов, имя задается с указанием имени группы:
r <ИмяГруппыМакросов>.<ИмяМакроса>
r <Число повторов> вызова макроса. Если этот аргумент и аргумент <условие повтора> не заданы, вызванный макрос выполняется один раз
r <Условие повтора> — логическое выражение. При значении (Ложь) повторное выполнение вызванного макроса не производится и возобновляется выполнение вызывающего макроса. Если заданы значения обоих аргументов, <число повторов> и <Условие повтора>, вызываемый макрос будет выполняться до тех пор, пока выражение, заданное аргументом <условие повтора> не получит значение, либо пока не исчерпается число указанных повторов.
|
|
Макрокоманда "ЗапускМакроса" с помощью аргументов <Число повторов> и <Условие повтора> позволяет реализовать циклы в программах на языке макросов.
Макрокоманды запускаемого исходного макроса выполняются поочередно до тех пор, пока не наступит очередь макрокоманды "ЗапускМакроса". В этот момент происходит вызов второго макроса. По завершении выполнения макрокоманд вызванного макроса возобновляется выполнение следующей макрокоманды вызывающего макроса.
Допускается выполнение макрокоманды "ЗапускМакроса" из вызванного макроса. Это означает, что сначала вызывается макрос "А", из которого в свою очередь вызывается макрос "В", и т. д. В каждом случае по завершении вызванного макроса возобновляется выполнение следующих макрокоманд вызывающего макроса.
Использование условий в макросе
Для реализации алгоритма в программах необходим механизм, обеспечивающий выполнение различных действий в зависимости от заданных условий. В языке макросов можно организовать выполнение макрокоманды или набора макрокоманд только при выполнении некоторых условий. Условия позволяют определить порядок передачи управления между макрокомандами в макросе и обеспечивают выполнение определенных ветвей алгоритма. Например, если в макросе проверяется значение поля в форме на соответствие заданным условиям, то для одних значений может потребоваться вывести сообщение, а для других значений произвести вывод отчета.