Cet exemple de code pour Outlook 2003 parcourt les boîtes aux lettres de niveau supérieur et imprime certaines propriétés dans la fenêtre Exécution. J'ai choisi les propriétés qui semblaient les plus utiles en fonction de votre demande.
Sub LoopThruMailboxes()
Dim olApp As Outlook.Application
Dim olNS As Outlook.NameSpace
Dim mailboxCount As Long
Dim i As Long
Dim folder As Outlook.MAPIFolder
' get local namespace
Set olApp = Outlook.Application
Set olNS = olApp.GetNamespace("MAPI")
mailboxCount = olNS.Folders.count
For i = 1 To mailboxCount
Set folder = olNS.Folders(i)
Debug.Print folder.EntryID
Debug.Print folder.StoreID
Debug.Print folder.Name
Debug.Print folder.FolderPath
Next i
End Sub
folder.Name est le nom de la boîte aux lettres, folder.StoreID est l'ID de magasin (je ne suis pas sûr de ce que vous vouliez dire par « chemin du fichier de magasin », je ne vois rien cela semblait pertinent de toute façon).
est ici une version functionized qui retourne le nom du dossier et l'ID de magasin comme un tableau, que vous pouvez attribuer directement à une zone de liste:
Function GetMailBoxInfo() As String()
Dim olApp As Outlook.Application
Dim olNS As Outlook.NameSpace
Dim mailboxCount As Long
Dim i As Long
Dim folder As Outlook.MAPIFolder
Dim tempString() As String
' get local namespace
Set olApp = Outlook.Application
Set olNS = olApp.GetNamespace("MAPI")
mailboxCount = olNS.Folders.count
' size array accordingly
ReDim tempString(1 To mailboxCount, 1 To 2)
For i = 1 To mailboxCount
Set folder = olNS.Folders(i)
tempString(i, 1) = folder.Name
tempString(i, 2) = folder.StoreID
Next i
GetMailBoxInfo = tempString
End Function
ex:
ListBox1.List = GetMailBoxInfo
Y at-il quelque chose de spécifique que vous faites avec chaque magasin? Vous pouvez parcourir chaque boîte aux lettres dans Outlook 2003, mais en fonction de ce que vous faites, cela peut être possible ou non. – JimmyPena
Je veux d'abord remplir une zone de liste avec le nom d'affichage du magasin, le chemin du fichier de stockage et l'ID du magasin. L'utilisateur sélectionne alors un magasin dans la liste et clique sur un bouton. Cela permettra d'enregistrer le StoreID dans une variable de chaîne. J'utiliserai ensuite la méthode NameSpace.GetItemFromID pour obtenir un MailItem. Enfin, j'appellerai MailItem.Display. –