in reply to Another Win32::OLE problem

Are you launching outlook from the perl program ?

If so, you may want to look at Microsoft Knowledge Base Article - 238610, which states

Although the Office application is running, it might not be registered in the Running Object Table (ROT). A running instance of an Office application must be registered in the ROT before it can be attached to using GetObject (Visual Basic) or GetActiveObject (Visual C++). When an Office application starts, it does not immediately register its running objects. This optimizes the application's startup process. Instead of registering at startup, an Office application registers its running objects in the ROT once it loses focus. Therefore, if you attempt to use GetObject or GetActiveObject to attach to a running instance of an Office application before the application has lost focus, you might receive one of the errors above.
Another suggestion is to look at, and possibly update the win98 version of OLEAUT32.DLL, which implements the getactiveobject function.

Replies are listed 'Best First'.
Re: Re: Another Win32::OLE problem
by Foggy Bottoms (Monk) on Jun 26, 2003 at 13:34 UTC
    Actually I'm starting to think that Win98 may be the problem. I'll update the dll as you mentioned - it's a great idea - thanks so much.
    Considering the OLE function works fine with Word, Powerpoint, Excel, considering the OLE->new function works with all the software even Outlook, considering only one specific version of Outlook doesn't work (or is it because it's running under Win98), I tend to believe Win98 and its dll may be the problem or else, perhaps the OLE package.
    I'll run the same bit of code with Outlook 2002 under Win2k and I'll let you know whether it works.