Multiple Instances of Outlook

J

John Mann

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.
 
D

Dmitry Streblechenko

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top