OutlookEX - Outlook status auslesen

  • Hallo,

    Ich benutze aktuell OutlookEX um Mails aus Outlook auszulesen und Attachements abzuspeichern. Outlook ist mit einem Exchange Server verbunden.
    Es kann manchmal vorkommen dass die Verbindung zwischen Outlook und dem Exchange Server gekappt wird.
    Das Poblem ist dann folgendes:
    - Ich lese die Mails in Outlook
    - Danach schaue ich ob diese attachments enthalten die mich interessieren.
    - Diese werden abgespeichert.
    - Wenn die Verbiendung gekappt wird, bekomme ich die Dateien nicht mehr gespeichert und das Programm schiesst sich ab.

    Gibt es hierzu eine möglichkeit zu schauen ob die Verbindung zwischen Outlook und dem Exchange besteht oder ob diese gekappt wurde?
    In Outlook gibt es den Status wo steht "Online/Offline" u.s.w. Kann man diesen auslesen?
    Mir würde reichen wenn ich den Status "Online" auslesen könnte. Falls dort nicht mehr "Online" steht dann würde ich den Prozess stoppen und abwarten bis wieder "Online" dort steht. So könnte ich vermeiden dass das Programm sich abschiesst.

    Falls jemand eine Idee hat.

    Danke.

  • Mhh, geht wohl, ich hab hier was gefunden was nach VB aussieht: https://stackoverflow.com/questions/1825…ectivity-status


    Müsste mal ein "Objekte"-Profi in AutoIt übersetzen ...

  • Das habe ich mal so für ein Projekt benutzt.

  • Kam gleich in meine Sammlung.
    Hier noch eine Variante die statt des Statuscode (=Zahl) den Statustext zurück gibt.

  • Hallo,

    Vielen dank euch beiden. Ich habe es hinbekommen mit eurer Hilfe.
    Da ich die OutlookEx UDF benutze habe ich es damit gemacht. Der Code sieht so ähnlich aus wie eurer

  • Funktion _OL_AccountGet bringt Dir diese Info auch für den entsprechenden Account. Es könnte ja sein, dass ein Account sich mit Exchange und ein anderer sich mit GMail verbindet.
    "6 - OlExchangeConnectionMode constant that indicates the current connection mode for the Microsoft Exchange Server"

  • Hallo,

    Gut zu wissen dass es eine integrierte Funktion gibt. Diese kannte ich nicht.
    Ich habe es nun folgendermassen stehen

    $bStatus = $oOutlook.Session.ExchangeConnectionMode

    Das funktionniert so. Aber nun weiss ich dass es eine funktion in der UDF gibt.

    Vielen Dank.

  • Funktioniert auch fein, wenn Dir klar ist, dass dies immer nur den Status der ersten Session zurückgibt.
    Solltest Du auf mehrere Postfächer zugreifen (die auch auf unterschiedlichen Exchange-Servern liegen können), dann empfiehlt sich die Funktion der UDF.

  • Also ich greife immer auf den gleichen Exchange Server, momentan ist das so :).
    Ich werde das mal so versuchen und schauen was passiert. Falls das dann nicht so funktionnieren sollte wie ich es möchte dann werde ich die Funktion der UDF testen.

    Danke.