Outlook 2007 - Makro, Nachricht automatisch öffnen und schließen

  • Sonstige

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von 34bounty.

    Outlook 2007 - Makro, Nachricht automatisch öffnen und schließen

    Hallo Experten,

    ich bin leider im Bereich Outlook VBA (im Gegensatz zu Excel-VBA) überhaupt nicht bewandert und suche deshalb Hilfe bei euch.

    Ich bräuchte folgende Funktionalität als Makro:

    Automatisch beim Öffnen von Outlook soll das Makro alle E-Mail-Elemente im Ordner Gelöschte Elemente durchschauen, wenn er den Text "Aktualisierte Aufgabe:" im Betreff findet, soll er das Element öffnen und wieder schließen.


    Hintergrund ist der, dass wie Outlook mit BCM 3.0 verwenden und ich habe eine Regel eingebaut, welche diese ständigen "Aktualisierte Aufgabe:"-Mails vom Posteingang löscht. Allerdings habe ich das Problem, dass wenn Outlook nicht eingeschaltet ist, diese Aufgabenaktualisierungen nicht verarbeitet werden.

    Das oben beschriebene Makro würde mir genau diese Funktion aber bieten.

    Wäre super, wenn mir das jemand schreiben könnte.

    Danke im Voraus und Grüße,

    Markus.

    Makro - öffnet ungelesene Mail

    Hallo,

    vielleicht hilft dir mein Makro den Einstieg zufinden. Es öffnet eine ungelesene Mail im Lesebereh - führt eine Aktion durch - löscht die Mail bei Bedarf.

    Quellcode

    1. 'Eventhandler für öffnen der Mail
    2. Public WithEvents myOlInspectors As Outlook.Inspectors
    3. 'Selection Change Event - lesen der Mail im Lesebereich
    4. Public WithEvents myOlExp As Outlook.Explorer
    5. 'Eventhandler für prüfen der ungelesenen Mail
    6. Public WithEvents myMailItem As Outlook.MailItem
    7. Dim BoolOpenMail As Boolean
    8. ' Initialisieren der Handler beim Outlookstart
    9. Public Sub Initialize_handler()
    10. 'für öffnen der Mail
    11. Set myOlInspectors = Application.Inspectors
    12. 'Selection Change Event - lesen der Mail im Lesebereich
    13. Set myOlExp = Application.ActiveExplorer
    14. End Sub
    15. Private Sub myMailItem_Open(Cancel As Boolean)
    16. 'MsgBox "OpenMailItem"
    17. ' Wenn Mail ungelesen
    18. If myMailItem.UnRead = True Then
    19. 'MsgBox myOlExp.Selection.Count & " items selected...myOlExp_SelectionChange()+ unread"
    20. ' Öffne die Mail direkt im neuen Inspector
    21. myMailItem.Display
    22. If BoolOpenMail = True Then
    23. 'weitere Aktionen
    24. 'myMailItem.Delete
    25. End If
    26. End If
    27. End Sub
    28. Private Sub myMailItem_Read()
    29. 'MsgBox ,vbOKCancel,"Do you want delete","Delete","Delete" As VbMsgBoxResult
    30. 'löschen der Mail
    31. 'myMailItem.Delete
    32. End Sub
    33. 'Selection Change Event - lesen der Mail im Lesebereich
    34. Private Sub myOlExp_SelectionChange()
    35. 'MsgBox myOlExp.Selection.Session.CurrentUser & "myOlExp_SelectionChange()"
    36. If myOlExp.Selection.Count > 0 Then
    37. Set myMailItem = myOlExp.Selection.Item(1)
    38. BoolOpenMail = True
    39. ' Check ob die Mail schon gelesen wurde
    40. If myMailItem.UnRead = True Then
    41. BoolOpenMail = False
    42. 'MsgBox myOlExp.Selection.Count & " items selected...myOlExp_SelectionChange()+ unread"
    43. myMailItem.Display
    44. BoolOpenMail = False
    45. End If
    46. End If
    47. End Sub
    48. Private Sub Application_Startup()
    49. Call Initialize_handler
    50. 'MsgBox "Application_Startup()"
    51. BoolOpenMail = True
    52. End Sub


    GRuß Thomas