Zugriff auf Outlook-Mailbox-Unterordner n. mögl.
01.03.2019 09:58:31
Ronald
Ich habe das Office 365 und Outlook mit Exchangekonto und möchte gerne vom Excel per VBA auf das Outlook zugreifen, und zwar speziell auf
das Postfach und möchte Unterordner oder Unterordner von Unterordnern vom Posteingang
anzeigen und ggf. auch Ordner dort erstellen lassen und auch von Excel aus
standardisierte bzw. automatisierte E-Mails senden lassen.
Was ich bisher habe:
Private Sub cmdOutlook_Click()
Dim applOutlook As Outlook.Application
Dim nsOutlook As Outlook.Namespace
Dim fldr As Folder
Dim fOutlook As Outlook.Folder
Dim sf1Outlook As Outlook.Folder
Dim sf2Outlook As Outlook.Folder
Dim sf1Outlook1 As Outlook.Folders
Dim oAccount As Account
Set applOutlook = New Outlook.Application
Set nsOutlook = applOutlook.GetNamespace("MAPI")
For Each oAccount In Session.Accounts
For Each fldr In nsOutlook.Folders
If fldr.Name = "PostFachName" Then
MsgBox "Yes"
Set sf1Outlook = fldr.Folders("Posteingang")
MsgBox sf1Outlook
'dies hier funktioniert leider nicht:
Set sf2Outlook = fldr.Folders("Posteingang").sf1Outlook.Folders("SVF")
'dies hier funktioniert leider auch nicht:
Set sf2Outlook = fldr.Folders("Posteingang").Folders("SVF")
MsgBox sf2Outlook
sf2Outlook.Display 'Sollte dann den entsprechenden Ordner öffnen und anzeigen
End If
Next
Next
End Sub
Dies ist ein Postfach, welches bei mir nicht lokal konfiguriert ist, sondern
auf meinen, wie auch auf vier weitere PCs synchronisiert wird. Auf folgende Struktur kann ich mit diesem Code zugreifen:
(PostFachName) = Zugriff möglich
---(Posteingang) = Zugriff möglich
------(SVF) = geht leider bereits nicht mehr siehe nachfolgende Meldung:
---------(weitere Ordner, die ich erstellen können und darauf zugreifen will)
Folgende Meldung erscheint:
Laufzeitfehler '438'
Objekt unterstützt diese Eigenschaft oder Methode nicht und wenn ich dann auf
debuggen klicke, markiert es mir diese Zeile hier:
Set sf2Outlook = fldr.Folders("Posteingang").sf1Outlook.Folders("SVF")
Wäre schön, wenn mir jemand Tips geben könnte, was ich falsch mache, bzw. was ich
besser machen könnte.
Ebenso, was das Erstellen von Ordnern und das Senden von E-Mails betrifft.
Wobei bei letzterem ich eigentlich nur noch wissen müßte, wie man einen eigenen
Betreff setzt.
Das Senden als solches funktioniert bei mir so:
Private Sub MailSenden()
Dim strEmpfaenger As String
strEmpfaenger = frmService.txtEmail36.Text
Call ShellExecute(0&, "Open", "mailto:" + strEmpfaenger, "", "", 1)
End Sub
Hierbei muß ich sagen, daß dies lediglich Outlook als neue E-mail öffnet.
Wenn ich das ganze ohne Outlook senden könnte, wäre das besser. Dann hätte
ich einen Standardtext, einen wechselnden Empfänger und einen wechselnden
Betreff, was ich beides per Quelltext dynamisch zuzuweisen gedenke.
Wäre toll, wenn mir auch hierbei jemand Tips geben könnte.
Vielen Dank im Voraus.
Gruß Ronald