Вот рабочий пример:
X++:
static void Job20(Args _args)
{
ComWordDocument_RU word;
COMDispFunction dispFunction;
COMVariant myStrParam, myIntParam;
;
word = new ComWordDocument_RU();
word.open('c:\\docmacro.docm');
dispFunction = new COMDispFunction(word.getComDocument(), 'mymacro', COMDispContext::Method);
myStrParam = new COMVariant();
myStrParam.bStr('myString');
myIntParam = new COMVariant();
myIntParam.int(24);
dispFunction.call(myStrParam, myIntParam);
word.visible(true);
}
Создаем файл Word (я делал в формате Word 2007 с поддержкой макросов, т.е. *.docm) с вот таким макросом:
PHP код:
Sub mymacro(Param1, Param2)
MsgBox "ДА! Это макрос " & Param1 & " " & Param2
End Sub
Запускаем джоб на исполнение. Открывается файл, в котором мы видим окно: