How to call a Word macro with parameters
delphi, ms-word, parameters
Solution
You must pass the macro parameters values just as normal parameters.
word.Run('Macro1', 'Book', 'Pool');
for more info read the `Application.Run Method` MSDN documentation.
Problem
I want to run a macro (Sub) of a Word document from Delphi. My macro in Word is ``` Sub Macro1() 'Do Something End Sub ``` and in Delphi ``` Word := CreateOleObject('Word.Application'); Word.visible := true; Word.Documents.Open('c:\_3\Doc\2.docm', true, false); word.Run('Macro1'); ``` and works well But when I want to enhance the macro and add parameters as ``` Sub Macro1( param1 as string, param2 as string) 'Do Something End Sub ``` and calling as ``` word.Run('Macro1 "Book", "Pool"'); ``` I get error as "Unable to run the specified macro" How can I call a macro (Sub) with parameters?