我想从Delphi运行Word文档的宏(Sub)。
我在Word中的宏
Sub Macro1()
'Do Something
End Sub
和Delphi
Word := CreateOleObject('Word.Application');
Word.visible := true;
Word.Documents.Open('c:\_3\Doc\2.docm', true, false);
word.Run('Macro1');
并且效果很好 但是,当我想增强宏并添加参数
时Sub Macro1( param1 as string, param2 as string)
'Do Something
End Sub
并呼叫为
word.Run('Macro1 "Book", "Pool"');
我得到的错误是
"无法运行指定的宏"
如何用参数调用宏(Sub)?
答案 0 :(得分:2)
答案 1 :(得分:0)
宏代码:
Sub TestParams(param1 As String)
MsgBox "Param1 := enter code here" & param1
End Sub
对我来说,这对我来说也是一场噩梦,因为只要您创建带有参数的宏,它就不会显示在宏列表中。
我最终通过以下方式开始工作 德尔福代码:
procedure TUtils.RunMacro;
var Test : olevariant;
begin
Test := 'Hello Word';
WordApplication.Run('TestParams',Test);
end;