Obtenir MAPI Dossier dans Outlook à partir d'un Chemin de Dossier
Je suis en train d'utiliser la fonction de sur cette page: http://www.outlookcode.com/d/code/getfolder.htm à utiliser le chemin d'accès au dossier pour accéder à un dossier. (Je vais copier ce code sur le fond de cette question, j'ai utilisé comme ça, non modifiée). La raison pour laquelle je besoin pour utiliser cette est que la valeur par défaut de la boîte de réception dans Outlook n'est pas la même que la boîte de réception, j'ai besoin d'être actif. Je sais que le chemin d'accès de la boîte de réception en cliquant droit sur et cliquez sur propriétés, et en regardant à l'endroit.
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 erreur d'exécution 91, variable Objet ou variable bloc with 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 disposez d'une manière que je pourrais éviter 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
OriginalL'auteur Wolves | 2013-06-11
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé la réponse. S'avère que c'est quelque chose de stupide, comme d'habitude 🙂
doit être
. Cela résout le problème. J'ai pensé que je laisse ça ici au cas où quelqu'un d'autre a ce problème, la solution est simplement de suivre le format donné...
OriginalL'auteur Wolves
Il suffit d'ajouter cette ligne...
OriginalL'auteur user2803771
Apparemment aussi besoin de cette ligne:
Mais après la ligne précédente.
Donc, dans le contexte:
OriginalL'auteur Bob