PDA

Vollständige Version anzeigen : Outlook / Persönlicher Ordner


J_Eilers
10.05.2004, 08:05
Hi,

ich versuche mich gerade an Access und Outlook und wollte alle Überschriften aus Mails in eine Tabelle schreiben. Aber wie kann ich mich auf einen Ordner im persönlichen Ordner beziehen?

Bisheriger Code:

Dim objOutlook As Outlook.Application
Dim objNameSpace As Outlook.NameSpace
Dim objMailordner As Outlook.MAPIFolder
Dim objNewMailordner As Outlook.MAPIFolder
Dim objAttachment As Outlook.Attachment
Dim objMail As Outlook.Items
Dim objEMail As Outlook.MailItem
Dim i As Integer
Dim Text As String

Set objOutlook = New Outlook.Application
Set objNameSpace = objOutlook.GetNamespace("MAPI")
Set objMailordner = objNameSpace.GetDefaultFolder(olFolderInbox)
Set objNewMailordner = objMailordner.Folders("MS-Office-Forum")
Set objMail = objNewMailordner.Items

J_Eilers
10.05.2004, 10:49
Mal leise nach oben schieb...

Es geht eigentlich um diese beiden Zeilen:

Set objMailordner = objNameSpace.GetDefaultFolder(olFolderInbox)
Set objNewMailordner = objMailordner.Folders("MS-Office-Forum")

Wobei ich aber nicht weiß, wie man einen persönlichen Order einbindet, da er nicht zu den DefaultFolders gehört?

genschman
10.05.2004, 12:26
Hallo Jan,

ich habe jetzt nicht im Einzelnen getestet, was diese Routinen machen, die habe ich nur mal schnell aus einem e-Book rauskopiert.
Vielleicht ist schon etwas dabei, was weiterhilft:

Sub ListMAPIFolder()
Dim olApp As Outlook.Application
Dim olFolder As Outlook.MAPIFolder
Dim olAblage As Outlook.MAPIFolder
Set olApp = New Outlook.Application
Set olFolder = olApp.Session.Folders. _
Item("Persönliche Ordner")
For Each olAblage In olFolder.Folders
Debug.Print olAblage.Name
Next
olApp.Quit
Set olApp = Nothing
End Sub


Sub AlleOrdnerAuflisten()
Dim olApp As Outlook.Application
Dim olFolder As Outlook.MAPIFolder
Dim lngAnzahl As Long
Set olApp = New Outlook.Application
For Each olFolder In olApp.Session.Folders
Debug.Print olFolder.Name
lngAnzahl = lngAnzahl + OrdnerZählen(olFolder)
Next
MsgBox "Anzahl Ordner: " & lngAnzahl
End Sub

Function OrdnerZählen(olFolder As Outlook.MAPIFolder) As Long
Dim oltemp As Outlook.MAPIFolder
Dim lngAnzahl As Long
For Each oltemp In olFolder.Folders
Debug.Print oltemp.Name
lngAnzahl = lngAnzahl + 1
lngAnzahl = lngAnzahl + OrdnerZählen(oltemp)
Next
OrdnerZählen = lngAnzahl
End Function

J_Eilers
10.05.2004, 12:55
Jawoll, nu geits :D Vielen Dank!

Set objOutlook = New Outlook.Application
Set objNameSpace = objOutlook.GetNamespace("MAPI")
Set objMailordner = objNameSpace.Folders.Item("MeinOrdner")
Set objNewMailordner = objMailordner.Folders("MS-Office-Forum")
Set objMail = objNewMailordner.Items

Damit funktioniert der Zugriff auf den persönlichen Ordner.