Aus VBA auf Posteingang zugreifen

ronaldo84

Erfahrenes Mitglied
Hallo

ich habe ein VBA Skript geschreiben, mit dem Informationen von Emails direkt in eine DB eingetragen werden. Ich habe nun nur ein Problem:
Ich gebe an aus welchem Ordner er die Emails nehmen soll. Wenn ich einen von mir selbst erstellen Ordner wähle klappt alles super. Wenn ich aber einen vorgefertigten wie "Posteingang" oder "Junk-E-Mail" nehme kommte die Fehlermeldung:
Der Vorgang konnte nicht ausgeführt werden. Ein Objekt wurde nicht gefunden.
Nun ist die Frage warum?
So greife ich auf den Ordner zu.
Code:
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM Emailadressen") //Tabelle in die die Daten eingetragen werden sollen
Set objOutlook = New Outlook.Application
Set objNameSpace = objOutlook.GetNamespace("MAPI")
Set objMailordner = objNameSpace.GetDefaultFolder(olFolderInbox)
Set objGAINMailordner = objMailordner.Folders("Posteingang") //Ordner den er durchsuchen soll

Hoffe jemand kann mir helfen. Vielen Dank im vorraus.
 
Weiß wirklich niemand warum das so ist?
Deklaration der Variablen:
Code:
Dim objOutlook As Outlook.Application, objNameSpace As Outlook.Namespace
Dim objMailordner As Outlook.MAPIFolder, objGAINMailordner As Outlook.MAPIFolder
Dim objAttachment As Outlook.Attachment, objMail As Outlook.Items
Dim objEMail As Outlook.MailItem
Wenn ich es so mache:


Code:
Set objOutlook = New Outlook.Application
Set objNameSpace = objOutlook.GetNamespace("MAPI")
Set objMailordner = objNameSpace.GetDefaultFolder(olFolderInbox)
MsgBox (objMailordner) 'Ausgabe Posteingang
Set objGAINMailordner = objMailordner.Folders("test")
MsgBox (objGAINMailordner) 'Ausgabe test
Set objMail = objGAINMailordner.Items
Klappt alles. Dann wollte ich es so umbauen:
Code:
Set objOutlook = New Outlook.Application
Set objNameSpace = objOutlook.GetNamespace("MAPI")
Set objMailordner = objNameSpace.GetDefaultFolder(olFolderInbox)
Set objMail = objMailordner.Items

Schon kommt die Fehlermeldung:
Ungültiger Prodzeduraufruf oder ungültiges Argument
Aber Warum? Ich werde bald wahnsinnig.
 
Habe es selber gelöst. Da ich in meinem Outlook mehrer Postfächer eingebunden habe wusste er nicht welchen Posteingang ich meinte.

Musste mit
Code:
Set FolderRoot = myNameSpace.GetDefaultFolder(olFolderInbox).Parent
Erstmal zuweisen welche ich haben will.
 
Zurück