Do you know where your variables are? | |
PerlMonks |
Re: Win32::OLE: how to call Excel VBA macros and catch all VBA errors without dialog boxes appearing?by BrowserUk (Patriarch) |
on Mar 11, 2010 at 10:06 UTC ( [id://828004]=note: print w/replies, xml ) | Need Help?? |
It is possible to control whether system hard error dialogs are displayed (or not), on a per-process basis, using the system API SetErrorMode(). But in your case, this would need to be applied to Excel.exe. The error mode setting is inherited by child processes, so if your perl script had the dialogs disabled, and you started the excel instance from your perl script (rather than attaching to an existing instance), then Excel should inherit the same error mode setting as your perl script. Of course, there is nothing to stop Excel setting it back when it starts. The SetErrorMode() API is exported by Win32API::File (Check the casing!). You can also get at it via Win32::API if that works for your installation. Or Inline::C if you have a compiler set up. I don't have Excel, so I can't try this. Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
In Section
Seekers of Perl Wisdom
|
|