Email senden mit Outlook und OutlookEx UDF

  • Hallo water,

    Ich möchte mir eine Nachricht per Outlook senden lassen, wenn eine bestimmte Aufgabe absolviert ist. Für diese Aufgabe benötige ich bereits die _OL_Warnings.exe (Warnung beim Auslesen der Items), die ich mit _OL_Open starte.

    Allerdings erscheint beim Sendeversuch ein Outlook-Warnhinweisfenster mit einem anderen Text. Daher müsste ich wohl entweder den Fenstertext weglassen, was mir zu unspezifisch scheint oder eine andere exe starten. Sehe ich das richtig?

    Auf die Schnelle habe ich mir einfach die entsprechenden Teile aus _OL_Open in die _OL_Wrapper_SendMail-Funktion kopiert, damit ich beim Aufruf der Funktion eine zweite _OL_Warnings.exe starten kann. War das Quatsch und meinst du ich könnte einfach den Text weglassen und nur nach dem Fenstertitel "Microsoft Outlook" suchen?

    PS: Mir auch aufgefallen, dass du in _OL_Wrapper_SendMail den Errorwert 4 als Rückmeldung für fehlende Empfänger dokumentiert hast. In der Funktion wird hier aber der Fehlerwert 3 gesetzt.

    Grüße autoiter

  • Statt in der Funktion _OL_Wrapper_SendMail herumzupfuschen, habe ich mir nun die _OL_Warnings.exe so angepasst, dass ich zwei Texte angeben kann. Keine Ahnung ob noch mehr Texte vorkommen können und man das weiter Flexibilisieren sollte. Aber fürs erste reicht mir das so:

    Grüße autoiter

  • Die Script _OL_Warnings.au3 ist auf die englischen Meldungen von Outlook eingerichtet. D.h. das Skript muss für die deutsche Version angepasst werden.
    Dazu müssen die Variablen $sWindowTitle und $sWindowText angepasst werden sowie die Buttons geprüft werden:

    Code
    If ControlCommand($sWindowTitle, $sWindowText, "Button3", "IsEnabled") Then
        ControlFocus($sWindowTitle, $sWindowText, "[CLASS:Button; INSTANCE:3]")
        ControlClick($sWindowTitle, $sWindowText, "Button3")
    EndIf
    If ControlCommand($sWindowTitle, $sWindowText, "Button4", "IsEnabled") Then
        ControlFocus($sWindowTitle, $sWindowText, "[CLASS:Button; INSTANCE:4]")
        Send("{SPACE}")
        ToolTip("")
        ExitLoop
    EndIf
  • Hallo water

    Na klar. Mein Problem war einfach, dass ich mit zwei Warn-Fenster völlig unterschiedlichen Texten im Fenster konfrontiert wurde. Das mag im Englischen anders sein. In der deutschen Version beginnen die Texte einmal mit "Programm versucht" oder "Anwendung versucht". Auch ansonsten unterscheidet sich der Fenstertext. Daher konnte ich nicht allein mit der Anpassung der Variablen $sWindowText arbeiten. Aber ich bin in der Fenstersteuerung auch nicht wirklich fit..

    Grüße autoiter

  • Wenn das Ergebnis passt, dann ist ja gut ;)

  • PS: Mir auch aufgefallen, dass du in _OL_Wrapper_SendMail den Errorwert 4 als Rückmeldung für fehlende Empfänger dokumentiert hast. In der Funktion wird hier aber der Fehlerwert 3 gesetzt.

    Danke für den Hinweis. Ist korrigiert.