Delphi 如何使用参数调用Word宏

Delphi 如何使用参数调用Word宏,delphi,parameters,ms-word,Delphi,Parameters,Ms Word,我想从Delphi运行Word文档的宏(Sub) 我的Word宏是 Sub Macro1() 'Do Something End Sub 在德尔菲 Word := CreateOleObject('Word.Application'); Word.visible := true; Word.Documents.Open('c:\_3\Doc\2.docm', true, false); word.Run('Macro1'); 而且效果很好 但是当我想增强宏并添加参

我想从Delphi运行Word文档的宏(Sub)

我的Word宏是

Sub Macro1()  
  'Do Something
End Sub  
在德尔菲

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)

必须像传递普通参数一样传递宏参数值

word.Run('Macro1', 'Book', 'Pool');  
有关更多信息,请阅读MSDN文档。

宏代码:

Sub TestParams(param1 As String)
   MsgBox "Param1 := enter code here" & param1
End Sub
这对我来说也是一场噩梦,因为一旦创建了带有参数的宏,它就不会显示在宏列表中

我最终通过执行以下操作使其正常工作
delphi代码:

procedure TUtils.RunMacro;
var Test : olevariant;
begin
  Test := 'Hello Word';
  WordApplication.Run('TestParams',Test);
end;