J'essaie d'utiliser la fonction de sur cette page: http://www.outlookcode.com/d/code/getfolder.htm pour utiliser le chemin du dossier pour naviguer vers un dossier. (Je vais copier ce code sur le bas de cette question - je l'ai utilisé tel quel, non modifié du tout.) La raison pour laquelle je dois utiliser ceci est que la boîte de réception par défaut dans Outlook n'est pas la même que la boîte de réception être actif. Je connais le chemin de la boîte de réception pertinente en faisant un clic droit dessus et en touchant les propriétés, et en regardant l'emplacement.Récupère le dossier MAPI dans Outlook à partir du chemin du dossier
C'est le code que j'utilise:
Set objOutlook = CreateObject("Outlook.Application", "localhost")
Set objNamespace = objOutlook.GetNamespace("MAPI")
Set Inbox = GetFolder("\\[email protected]\inbox")
Debug.Print Inbox '<-- This fails
Set InboxItems = Inbox.Items '<-- This also fails
InboxItems.SetColumns ("SentOn")
Cela renvoie une erreur d'exécution 91, objet variable ou variable bloc non définie.
Je n'ai aucune idée de ce que cela signifie. Si vous pouviez m'aider à résoudre cette erreur, ce serait génial, et si vous avez un moyen d'éviter complètement ce problème, ce serait génial aussi. Merci!
Public Function GetFolder(strFolderPath As String)As MAPIFolder
' strFolderPath needs to be something like
' "Public Folders\All Public Folders\Company\Sales" or
' "Personal Folders\Inbox\My Folder"
Dim objApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Dim colFolders As Outlook.Folders
Dim objFolder As Outlook.MAPIFolder
Dim arrFolders() As String
Dim I As Long
On Error Resume Next
strFolderPath = Replace(strFolderPath, "/", "\")
arrFolders() = Split(strFolderPath, "\")
Set objApp = Application
Set objNS = objApp.GetNamespace("MAPI")
Set objFolder = objNS.Folders.Item(arrFolders(0))
If Not objFolder Is Nothing Then
For I = 1 To UBound(arrFolders)
Set colFolders = objFolder.Folders
Set objFolder = Nothing
Set objFolder = colFolders.Item(arrFolders(I))
If objFolder Is Nothing Then
Exit For
End If
Next
End If
Set GetFolder = objFolder
Set colFolders = Nothing
Set objNS = Nothing
Set objApp = Nothing
End Function