View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Steve[_84_] Steve[_84_] is offline
external usenet poster
 
Posts: 2
Default Need syntax for RUNning a Word macro with an argument, called from an Excel macro

Jim,
Thank you for your assistance. As you noted, there was a typo in my
original note in calling MyWordMacro1 with an argument. The intended
call was to MyMacro2 with the argument.

Your solution only works if ... MacroName:= ... is left out.

oWord.Run "MyWordMacro2", arg1

Yes, the Word application does miminize. The visible/minimize sequence
works for me because once the Word file is visiblle/mimimized I drive
through an Excel worksheet reading instructions on how to manipulate
the Word file (inserting hyperlinks, special styles for PDF bookmarks
to specified text strings, etc.) I need to pass an text string
argument to a Word macro so that it will search for and then apply the
bookmark-able style to the located string.

steve



Jim Cone wrote:
It doesn't appear as if Macro1 has any arguments?
Try this for Macro2, add a comma at the end of the called macro name.
If it still doesn't work then remove the argument name...
oWord.Run "MyWordMacro2", arg1

Curious:
does the Word application actually minimize?
why do you make the application visible and then minimize it?
--
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware



"Steve"
wrote in message

'From EXCEL macro
Set oWord = GetObject(, "Word.application")
oWord.Visible = True
oWord.WindowState = wdWindowStateMinimize

' works when no argument present

oWord.Run MacroName:="MyWordMacro1"


' does NOT work with argument using this syntax

oWord.Run MacroName:="MyWordMacro2" arg1

-------------------------------------------------------------------------------------
WORD macros

Sub MyWordMacro1()
'
' macro code
'
end sub

Sub MyWordMacro2(arg1 As String)
'
' macro code
'
end sub