View Single Post
  #2  
Old December 8th 06, 06:09 PM posted to microsoft.public.outlook.program_vba
Dmitry Streblechenko
external usenet poster
 
Posts: 2,116
Default Multiple Instances of Outlook

Instead of calling inboxFolder.Display, you can have something like
set Explorer = inboxFolder.GetExplorer
Explorer.Display
.....
Explorer.Close

The error is an indication that you never call Namespace.Logon. After
creating an instance of Outlook.Application, add
set NS = Application.GetNamespace("MAPI")
NS.Logon

If you get that error from Namespace.GetItemFromID, make sure you also pass
the store id as thee second (optional) parameter.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

"John Mann" wrote in message
...
I am writing an application that works with Outlook - creating an instance
of "Outlook.Application" and find that by making Outlook visible it leaves
the instance of Outlook open when I release the reference to the
application.

I make it visible by

Dim inboxFolder As Outlook.MAPIFolder
Set inboxFolder =
gOutlookApp.GetNamespace("MAPI").GetDefaultFolder( olFolderInbox)
inboxFolder.Display

Is there a way to hide Outlook again, or ensure that when I release the
instance of the object that instance of Outlook will close?

I can call the Quit method, but this appears to close all instances of
Outlook.

Note the reason I am making Outlook visible is because for some reason
some installs of Outlook 2000 do not appear to work with COM unless the
application is visible. When processing mail I get a message "Could not
open the item" - this message does not appear if the application is
visible.

Note I have also tried using GetObject instead of CreateObject but this
appears to make no difference - it still creates a new instance of the
application.




Ads