_WordMacroRun
Запускает макрос Visual Basic
#include <Word.au3>
_WordMacroRun($o_object, $s_MacroName [, $v_Arg1 [, $v_Argn [, $v_Arg30]]])
Параметры
| $o_object | Переменная объекта Word.Application |
| $s_MacroName |
Имя макроса. Может быть любая комбинация шаблона, модуля и имя макроса. (См. Примечания) |
| $v_Arg1 |
[необязательный] Первый параметр для передачи в макрос |
| $v_Argn |
[необязательный] ... |
| $v_Arg30 |
[необязательный] Тридцатый параметр для передачи в макрос |
Возвращаемое значение
| Успех: | Возвращает 1 |
| Ошибка: | Возвращает 0 и устанавливает @error |
| @error: | $_WordStatus_Success = Нет ошибок |
| $_WordStatus_GeneralError = Общая ошибка | |
| $_WordStatus_ComError = Com ошибка | |
| $_WordStatus_InvalidDataType = Неверный тип данных | |
| $_WordStatus_InvalidObjectType = Неверный тип объекта | |
| @extended: | Содержит номер неисправного параметра |
Примечания
If you specify the document name, your code can only run macros in documents related to the current context — not just any macro in any document.Пример

; *******************************************************
; Пример 1 - Create a word window, open a document,
; run a macro named "My Macro" with one
; argument "Test", quit without saving changes.
; *******************************************************
#include <Word.au3>
$oWordApp = _WordCreate (@ScriptDir & "\Test.doc")
_WordMacroRun ($oWordApp, "My Macro", "Test")
_WordQuit ($oWordApp, 0)