Frage von JamesOffice, 75

Outlook Erinnerungsfenster durch Makro schließen?

Hallo zusammen, da es oft vorgekommen ist, dass manche bei uns auf der Arbeit Termine verpasst haben, weil das PopUp Fenster in Outlook nicht im Vordergrund angezeigt wird habe ich das hinbekommen (Makro geschrieben), dass das Fenster im Vordergrund angezeigt wird, das Problem dabei ist, dass es nur dann funktioniert, wenn die Erinnerungsfenster vorher geschlossen war. weiß jemand wie ich das Erinnerungsfenster nach einer bestimmten Zeit schließen kann? danke im Voraus!

Antwort
von regex9, 62

Womit konkret arbeitest du denn? Mit VBA?

Starte einen Timer und schließe nach Ablauf das Fenster. Du müsstest beim Öffnen ja die Instanz bekommen haben.

Kommentar von JamesOffice ,

Jaa mit VBA! Ein Timer starten in VBA könnte ich hinbekommen, aber wie lautet dann die Zeile oder der Befehl um das Erinnerungsfenster zu schließen? Danke im Voraus!

Kommentar von regex9 ,

Um was für einen Typ handelt es sich denn bei dem Fenster? Wie öffnest du es bzw. bringst es in den Vordergrund?

Kommentar von JamesOffice ,
hier ist mal der Code :

Private Sub Application_Reminder(ByVal Item As Object)
    If TypeOf Item Is AppointmentItem Then
       Dim olApp As Outlook.Application
       Set olApp = GetObject(, "Outlook.application")
       AppActivate olApp.ActiveExplorer.Caption
    End If
End Sub
Kommentar von JamesOffice ,

Es handelt sich um das Erinnerungsfenster für Termine etc..

Kommentar von regex9 ,

Schau einmal hier: https://msdn.microsoft.com/de-de/library/office/ff870017.aspx - die Methode die du aufrufst, gibt dir ja die Instanz des Fensters zurück, die du in den Fokus setzen möchtest. Dies ist ein Explorer-Objekt, hat daher auch diese Methode zur Verfügung: https://msdn.microsoft.com/de-de/library/office/ff869525.aspx

Folglich würde ich es einmal so ausprobieren:

Private Sub Application_Reminder(ByVal Item As Object)
If TypeOf Item Is AppointmentItem Then
Dim olApp As Outlook.Application
Set olApp = GetObject(, "Outlook.application")

Dim activeExplorer As Explorer
Set activeExplorer = olApp.ActiveExplorer

AppActivate olApp.ActiveExplorer.Caption

' Hier den Timer setzen und
' activeExplorer.Close aufrufen
End If
End Sub

Oder du schließt das AppointmentItem einfach: https://msdn.microsoft.com/de-de/library/office/ff865790.aspx

Keine passende Antwort gefunden?

Fragen Sie die Community