In einem Excel lasse ich mir verschiedene Mails anzeigen. Mit click auf einen Button lass ich mir die Mail anzeigen und mit Click auf einen anderen Button lass ich mir die Mail wieder schliessen. Dazu verwende ich die beiden folgenden Codes:
Public Sub msgDateioeffnen()
On Error GoTo Fehler1
Dim objApp As Object 'Outlook.Application
Dim objitem As Object 'Outlook.MailItem
Set objApp = CreateObject("Outlook.Application")
Set objitem = objApp.Session.OpenSharedItem(PfadAktuell)
objitem.display
Set objApp = Nothing
Set objitem = Nothing
Exit Sub
Fehler1:
MsgBox "Mail ist schon geöffnet"
End Sub
Public Sub Mailschliessen(aktMail)
Dim objApp As Object 'AktMail As Object,
Set objApp = CreateObject("Outlook.Application") 'OutlookVerweis
If Not objApp.activeinspector Is Nothing Then 'Pruefung auf offene Mail
With objApp.activeinspector.CurrentItem()
.Close False 'Aktuelle Mail schliessen
End With
Else
MsgBox "Die Mail ist nicht mehr geöffnet"
End If
Set objApp = Nothing
End Sub
Das klappt soweit ganz gut. Das Problem ist nur, wenn ich eine weitere Mail öffne, wird die natürlich als currentitem im ActiveInspector geführt und entsprechend gelöscht. ich möchte aber nur meine zuerst geöffnete mail schliessen. Wie kann ich den close befehl auf diese bestimmte mail ausführen?ich hoffe ich habe mich klar ausgedrückt und könnt das so nachvollziehen. Für jede Hilfe bin ich sehr dankbar.
Grüsse Rolf