Thanks so much for your help!  I did everything you suggested and everything looked good.
 
I tried build a test file to demonstrate the problem and I found 2 problems(?).
 
1.  I wasn't using the -w option but I was using the "use warnings" dah!!!
 
2.  The macro that I am running -- 1) executes some code, 2) saves the file, and 3) closes the file; so perl only run(starts) the macro.  Version 5.8.4 has no problems with opening a file starting a macro and then going on and doing something else, but version 5.8.7 does not like that and throws the error. Which is probably good(?)  :)
 
Thanks again for all of your help,
Larry Lords
 
>>> "Jan Dubois" <[EMAIL PROTECTED]> 8/11/2005 1:26:27 PM >>>
On Tue, 09 Aug 2005, Larry Lords wrote:
> I am trying to upgraded to ActivePerl 5.8.7 from 5.8.4 on my Windows
> XP machine.
>
> I am now getting an Win32::OLE error on a statement that has worked
> correctly for quite awhile on the old system.
>
> The statement seems to work correctly but throws the following
> message:
> 
> Win32::OLE (0.1403) error 0x800a9c68 in METHOD/PROPERTYGET "Run" at
=ine number.
> 
> The code is very simple and is as follows:
> 
>    $Book =
$Excel->Workbooks->Open("T:\\AB_Dashboard\\ab_dashboard.xls");
>    $Excel->Run("open_close");
> 
> After further investigation I have found that if I put an -w
> (#!/usr/bin/perl -w) in 5.8.4 I get the same error message, but I get
> the message in 5.8.7 whether I have the -w option or not. Any ideas?
>
> I can open and execute the macro manually with no errors.
>
> I would appreciate any suggestions or alternatives.

Win32::OLE warnings are indeed controlled in part by the setting of the
-w warnings flag.  However, I cannot see that warnings are on by default
in 5.8.7 and cannot reproduce your behaviour.  With Perl 5.8.7:

  D:\>perl -MWin32::OLE -e "Win32::OLE->new('x')"

  D:\>perl -MWin32::OLE -w -e "Win32::OLE->new('x')"
  Win32::OLE(0.1702) error 0x800401f3: "Invalid class string" at -e line
1
          eval {...} called at -e line 1

So I only get the warnings when I use the -w option.

You may want to check the output of

    perl -eprint$^W

which should print "0", and the output of `perl -V` to see if there are
any
hints why -w would be on by default.

Cheers,
-Jan


------------------------------------------------------------------------------
This message may contain confidential information, and is
intended only for the use of the individual(s) to whom it
is addressed.
------------------------------------------------------------------------------

_______________________________________________
Perl-Win32-Users mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to