Where is the bug ?

A

af2604

I'm trying to develop an addin for OutLook 2007 using Visual Studio 2008
Visual Basic.

In my outlook 2007 I have 2 accounts:

(e-mail address removed) this is using the OUTLOOK.PST file
(e-mail address removed) using : OUTLOOK.xxx.yyy.0000001.PST file

I'm trying this simple code :

ColStores = Me.Application.Session.Stores
Debug.Print("+---- start ----------------------------------------")
Debug.Print("| stores count =" + ColStores.Count.ToString)
Debug.Print("+---------------------------------------------------")
For i = 1 To ColStores.Count
FilePathName = ColStores(i).GetRootFolder.Store.FilePath
Debug.Print("| i =" + i.ToString + " " + FilePathName)
Next
Debug.Print("+---- end -------------------------------------------")

this is the output

+---- start ----------------------------------------
| stores count =2
+---------------------------------------------------
| i =1 C:\Documents and Settings\...\Microsoft\Outlook\Outlook.pst
| i =2
+---- end -------------------------------------------

FilePathName for i = 2 is set to <nothing>

the stores count : 2 is correct but why there is not the path and file
name of the PST file used by the IMAP account ?

Thanks a lot

Alberto
 
D

Dmitry Streblechenko

The bug is in Outlook.
<plug>Redemption, on the other hand, will work correctly.And not not just in
Outlook 2007:

skPstAnsi = 1
skPstUnicode = 2
skPrimaryExchangeMailbox = 3
skDelegateExchangeMailbox = 4
skPublicFolders = 5
set Session = CreateObject("Redemption.RDOSession")
Session.MAPIOBJECT = Me.Application.Session.MAPIOBJECT
for each Store in Session.Stores
if (Store.StoreKind = skPstAnsi) or (Store.StoreKind = skPstUnicode) Then
Debug.Print Store.PstPath
ElseIf (Store.StoreKind = skPrimaryExchangeMailbox) or (Store.StoreKind =
skDelegateExchangeMailbox) or (Store.StoreKind = skPublicFolders) Then
Debug.Print Store.ServerDN
End If
next

</plug>

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

Dmitry Streblechenko

You could also use Extedned MAPI in C++ or Delphi to read the path from the
profile data section.
Note that the full path to the PST file is embedded in the store entry id
(in OutlookSpy, click go to an IMAP store, click IMsgStore, select
PR_STORE_ENTRYID property, click the button next to the Value edit box). You
could hack it, but the entry id format is not documented and is subject to
change in any version.

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

af2604

Dmitry Streblechenko ha scritto:
..... You
could hack it, but the entry id format is not documented and is subject to
change in any version.

Thank you very very much... this is simply GREAT
 

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