ahstax
Goto Top

E-Mail im Lesebereich anzeigen (VBA)

Eine "gemerkte" E-Mail soll mittels VBA im Lesebereich angezeigt werden.

Hallo miteiannder,

ich habe ein OL-Exchange-Postfach mit vielen, vielen E-Mails.
Ein Code arbeitet nacheinander diese E-Mails durch. Der Code sucht dazu eine als "letzte bearbeitete E-Mail" gespeicherte E-Mail, genauer deren Mail-ID, um ab der auf diese Mail folgenden (nächst jüngeren) E-Mail mit der neuen Bearbeitung zu beginnen. Vor der neuen Bearbeitung erhält der User eine Mitteilung, dass die Mails, ab der und der jetzt bearbeitet werden.

Soweit, so gut, funktioniert.

Ich würde nun gerne diese Mail, ab der die Bearbeitung weiter geführtwird, oder die letzte bearbeitete, gerne im Vorschaufenster (Lesebereich) anzeigen lassen. Mit

...
    While lastBestaetigteMailNum = 0 And j <= NumItems
         
        Set CurrentItem = objInbox.Items(j)
        
            If j > 1 And objInbox.Items(j).EntryID = InhaltStr Then
              
                lastBestaetigteMailNum = j
                
                lastBestaetigteMailSubject = objInbox.Items(j).Subject
                lastBestaetigteMailSenderName =objInbox.Items(j).SenderName
                lastBestaetigteMailReceivedTime = objInbox.Items(j).ReceivedTime
                lastBestaetigteEntryMailID = objInbox.Items(j).EntryID
                

' hier wird die Mail angezeigt  

                Set myMailItem = CurrentItem
                myMailItem.Display


                Text = _
                    "Bestätigungsversand wird ab der E-Mail von" & Chr(13) & Chr(13) & _  
                    Chr(9) & lastBestaetigteMailSenderName & Chr(13) & Chr(13) & "mit dem Betreff" & Chr(13) & Chr(13) & _  
                    Chr(9) & lastBestaetigteMailSubject & Chr(13) & Chr(13) & "Empfangen am " & Chr(13) & Chr(13) & _  
                    Chr(9) & lastBestaetigteMailReceivedTime & Chr(13) & Chr(13) & "durchgeführt."  
                
                Antwort = MsgBox(Text, vbOKCancel, "Versand starten?")  
                
            
            ElseIf j = 1 And objInbox.Items(j).EntryID = _
                InhaltStr Then
            
                Text = "Keine neuen zu bestätigende E-Mails vorhanden!"  
                
                MsgBox (Text), vbInformation, "Keine neuen E-Mails vorhanden!"  
                
                bolKeineNeue = True
                
                lastBestaetigteMailNum = j

            End If

        j = j + 1
        
    Wend
...

wird die fragliche Mail zwar angezeigt, aber in einem neuen, geöffneten Fenster.

Kennt jemand das Problem? Was muss ich machen/ändern?

Ach ja, kann ich irgendwie diese "hässlichen" Chr(9) und Chr(13) vermeiden?

Danke schon jetzt!

Grüße,
Andreas

Content-ID: 172831

Url: https://administrator.de/contentid/172831

Ausgedruckt am: 25.11.2024 um 18:11 Uhr

Gertruede
Gertruede 12.09.2011 um 15:24:50 Uhr
Goto Top
Hallo Andreas,
bei dem eigentlichen Problem (mit der Fensteranzeige) kann ich dir leider auch nicht helfen.

Aber zumindestens deine andere Frage kann ich Dir beantworten:

chr(9) = vbTab

chr(13) = vbCr

Falls Du mal Zeilenumbruch mit Rücklauf auf Zeilenpos.1 brauchst:
chr(13) & Chr(10) = vbCrLf

Grüße
G.
ahstax
ahstax 12.09.2011 um 16:04:37 Uhr
Goto Top
Herzlichen Dank für Deine Antwort!

Im Allgemeinen scheint das, was ich mir hier wünsche, nicht weit verbreitet zu sein....
Dabei soll doch eigentlich im Prinzip nur ein "Mausklick ohne Maus" auf eine Mail im Posteingang abgebildet werden...

Deswegen ist weiterhin jeder erne eingeladen, mich mit guten Hinweisen zu überschütten...! face-wink

Grüße,
Andreas