_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)