Monks,
I am calling a dot file named vad.dot and it has a macro sub vad (path as string)...
I want to pass the parameter to this macro from Perl using Win32::OLE.
Previously, When I ran my tool without parameters for my macro, it was working fine.use Win32::OLE; use Win32::OLE qw(in with); use Win32::OLE::Const 'Microsoft Word'; $Win32::OLE::Warn = 2; # Throw Errors, I'll catch them ################################# Get the word object ################ my $word = Win32::OLE->GetActiveObject('Word.Application') || Win32::OLE->new('Word.Application', 'Quit'); #get the word +object $word->Documents->Add || die("Unable to create document ", Win32::OLE- +>LastError()); ################## Call the vad macro to create table ##### $word->AddIns->Add({Filename=>"$cur_dir\\vad.dot", Install=>"True"}); #$word->run("vad") #running fine $word->run("vad", "D:\\Prasad\\Projects\\tools\\vad"'); #getting error
In VBA macro,OLE exception from "Microsoft Word": Unable to run the specified macro Win32::OLE(0.1707) error 0x80020003: "Member not found" in METHOD/PROPERTYGET "run" at D:\Prasad\Projects\tools\vad\vad.pl + line 314
updated: added macro skeleton and fixed typos.sub vad(path as string) { }
Thanks in advance
Prasad
In reply to Pass arguments to VBA macro by prasadbabu
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |