Office: (Office 2019) VBA Outlook E-Mailvorschau aktualisieren wg. Flag-Text

Helfe beim Thema VBA Outlook E-Mailvorschau aktualisieren wg. Flag-Text in Microsoft Outlook Hilfe um das Problem gemeinsam zu lösen; Hallo Leute, ich benötige bei einem Problem euer Wissen. Ich setze in Outlook einen Flag "Erledig" mit einem individuellen Text (= MdName).... Dieses Thema im Forum "Microsoft Outlook Hilfe" wurde erstellt von Nimrod_189, 18. September 2025.

  1. Nimrod_189
    Nimrod_189 User

    VBA Outlook E-Mailvorschau aktualisieren wg. Flag-Text


    Hallo Leute,

    ich benötige bei einem Problem euer Wissen.

    Ich setze in Outlook einen Flag "Erledig" mit einem individuellen Text (= MdName). Allerdingst wird mir dieser Text erst nach einem erneuten Aufruf der Email angezeigt. Wie kann ich mit VBA die Vorschau aktualisieren?

    Hier mein funktionierender Code:

    Code:
    Private Sub Application_ItemLoad(ByVal Item As Object)
    
      On Error Resume Next
              Dim msg As Outlook.MailItem
              Dim sMdNr As String
              Dim sMdName As String
              Dim iStart As Long
              Dim iEnde As Long
    
    
    10        If TypeName(Outlook.ActiveExplorer.Selection(1)) = "MailItem" Then
    20            If Application.ActiveExplorer.CurrentFolder = "VDL (Elsterbescheide)" Then
    30                Set msg = Outlook.ActiveExplorer.Selection(1)
    
                      If msg.IsMarkedAsTask Then Exit Sub
    50                iStart = InStr(1, msg.Body, "(Mandantennummer", vbTextCompare) + Len("Mandantennummer ")
    60                iEnde = InStr(iStart, msg.Body, ")", vbTextCompare)
    70                sMdNr = Trim(Mid(msg.Body, iStart, iEnde - iStart))
    
                      If Not IsNumeric(sMdNr) Then Exit Sub
    
    80                sMdName = MdBez(sMdNr, False)
    90                With msg
    100                   .MarkAsTask olMarkComplete
    110                   .FlagRequest = olFlagMarked
    120                   .FlagRequest = sMdName
    130                   .Save
    140               End With
    150           End If
    160       End If
    End Sub
    
    On Error resume ist bewusst gewählt, damit auch Email ohne MdName den Erledigt-Flag erhalten.

    Vielen Dank im Voraus.
    Gruß Nimrod
     
    Nimrod_189, 18. September 2025
    #1
  2. Nimrod_189
    Nimrod_189 User
    Hallo Leute,

    ich mache mal die Ingrid und teile Euch meine Lösung mit.
    Ich habe es jetzt in 2 Schritten gelöst.

    1. Bei einkommenden E-Mails wird das Flag gesetzt mit zusätzlichen Text.
    2. Im zweiten Schritt wird das Flag automatisch auf erledigt gesetzt, wenn ich mir die E-Mail ansehe. So habe ich alle Informationen ohne irgendeine Mehrarbeit.

    Code:
    Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
              Dim varEntryIDs() As String, objItem As Object
              Dim oMail As MailItem
                 
              Dim sMdNr As String
              Dim sMdName As String
              Dim iStart As Long
              Dim iEnde As Long
      
              varEntryIDs = Split(EntryIDCollection, ",")
    
               For i = 0 To UBound(varEntryIDs)
                  Set objItem = Application.Session.GetItemFromID(varEntryIDs(i))
                  'wenn Objekt ein Mailitem ist
     
    30            If objItem.Class = olMail Then
    40                Set oMail = objItem
                 
    50                If oMail.SenderEmailAddress = "test@absender.de" Then     
    60                    iStart = InStr(1, oMail.Body, "(Mandantennummer", vbTextCompare) + Len("Mandantennummer ")
    70                    iEnde = InStr(iStart, oMail.Body, ")", vbTextCompare)
    80                    sMdNr = Trim(Mid(oMail.Body, iStart, iEnde - iStart))
                 
    90                    If Not IsNumeric(sMdNr) Then Exit Sub
                     
    100                   sMdName = MdBez(sMdNr, False)
    110                   With oMail
    120                       .MarkAsTask olMarkToday
    130                       .FlagRequest = olFlagMarked
    140                       .FlagRequest = sMdName
    150                       .Save
    160                   End With
    170               End If
                  End If
              Next
    
    End Sub
    
    
    Private Sub Application_ItemLoad(ByVal Item As Object)
    
    10      On Error Resume Next
              Dim oMail As Outlook.MailItem
              Dim sMdNr As String
              Dim sMdName As String
              Dim iStart As Long
              Dim iEnde As Long
    
    20        If TypeName(Outlook.ActiveExplorer.Selection(1)) = "MailItem" Then
    30            If Application.ActiveExplorer.CurrentFolder = "VDL (Elsterbescheide)" Then
    40                Set oMail = Outlook.ActiveExplorer.Selection(1)
    
    50                If oMail.FlagStatus = olFlagComplete Or oMail.FlagStatus = olNoFlag Then Exit Sub
    
                      sMdName = oMail.FlagRequest
    110               With oMail
    120                   .MarkAsTask olMarkComplete
    130                   .FlagRequest = olFlagMarked
                          .FlagRequest = sMdName
    150                   .Save
    160               End With
    170           End If
    180       End If
    End Sub
    
    
    So und jetzt muss die Praxis zeigen, ob das auch so funktioniert wie ich es mir vorstellt. In meinem Test's war ich erfolgreich.

    Gruß Nimrod
     
    Nimrod_189, 20. September 2025
    #2
    1 Person gefällt das.
  3. Nimrod_189
    Nimrod_189 User
    Hallo Leute,
    also es funktioniert jetzt tadellos; gerade getestet.
    Alle eingehenden Emails erhalten ein rotes Flag mit MdName und beim auswählen wird sofort ein Häkchen gesetzt.

    Kann man den Beitrag auf erledigt setzten?
    Ich habe da nichts gefunden.

    Gruß Nimrod
     
    Nimrod_189, 30. September 2025
    #3
Thema:

VBA Outlook E-Mailvorschau aktualisieren wg. Flag-Text

Die Seite wird geladen...
  1. VBA Outlook E-Mailvorschau aktualisieren wg. Flag-Text - Similar Threads - VBA Outlook Mailvorschau

  2. Dateiname der aktuellen Datei als Variable

    in Sonstiges
    Dateiname der aktuellen Datei als Variable: Hallo in die Runde, kann ich unter VBA (Excel/Outlook) den Namen der aktuellen Datei auslesen und in einer Variable weiterverarbeiten? Danke im Voraus, Andreas
  3. VBA Grafik in E-Mail einfügen

    in Microsoft Excel Hilfe
    VBA Grafik in E-Mail einfügen: Hallo zusammen, ich habe mir in verschiedenen Foren einen VBA-Code zusammengesucht, angepasst und entsprechend nutze ich diesen jetzt auch. Hierzu hätte ich jetzt zwei Fragen: 1. Grafik wird...
  4. Ausgewählte Excel Termine per VBA in Outlook importieren

    in Microsoft Excel Hilfe
    Ausgewählte Excel Termine per VBA in Outlook importieren: Hallo Forum, ich habe ein merkwürdiges Problem und finde den Fehler nicht... Ich habe in einer Exceldatei Termine gespeichert, die ich in einen Outlook Kalender importieren möchte. Dies sind mal...
  5. VBA Makro Outlook zum drucken von Anhängen neuer emails

    in Microsoft Outlook Hilfe
    VBA Makro Outlook zum drucken von Anhängen neuer emails: Moin, ich brauche ein Makro, das von einer neuen Mail eines bestimmten Absenders automatisch den Anhang (nur .pdf) ausdruckt, sobald sie im Postfach eingeht. Bisher funktioniert schon manches...
  6. Outlook VBA NewMail Funktion Problem

    in Microsoft Outlook Hilfe
    Outlook VBA NewMail Funktion Problem: Hallo zusammen, ich möchte aus eingehenden E-Mails Anlagen in einem vorgegebenen Order abspeichern. Ich habe mir dazu ein Makro aus dem Netzt gemopst - zugegebenermaßen- was genau das kann....
  7. Outlook Termineinladung an festen Kontakt

    in Microsoft Outlook Hilfe
    Outlook Termineinladung an festen Kontakt: Hallo zusammen, ich muss einen bestimmten Kontakt häufig zu einem Termin einladen und würde mir gerne ein paar Klicks sparen. Kann man eine Art Schnellsprung oder vielleicht ein Makro erstellen,...
  8. Outlook-Mail mit VBA: SendUsingAccount

    in Microsoft Access Hilfe
    Outlook-Mail mit VBA: SendUsingAccount: Hallo, ich habe mir den Code aus vielen Beispielen zusammengebaut, aber an einer letzten Stelle hapert es bei mir noch. Das .SendUsingAccount (mit oder ohne SET davor) mit einer E-Mail-Adresse,...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden