albertminrich
Goto Top

Outlook neue Nachricht Betreff auslesen ist leer

Hallo,

Outlook 2010.
Ich möchte, wenn jemand eine Mail schreibt, einen Button im Menüband zur Verfügung stellen, der beim Anklicken den Betreff ergänzt.
Ich lese den aktuellen Betreff aus, ergänze ihn und schreibe ihn zurück.
Funktioniert auch. Allerdings kann der Betreff erst ausgelesen werden, wenn der Focus (der Cursor) nicht mehr im Betreff steht bzw. ihn wenigstens einmal verlassen hat.

Ich breche den Code mal auf das nötigste runter, auf das Auslesen des Betreff's:

Sub Betreff_aendern()
    Dim olMail As Outlook.MailItem
    Set olMail = Application.ActiveInspector.CurrentItem
    MsgBox "Alter Betreff: " & olMail.Subject  
End Sub

Vorgensweise 1:
  • Neue Mail öffnen
  • Ins Feld Betreff klicken
  • Betreff schreiben
  • Feld Betreff verlassen (durch <TAB> oder durch Klicken in irgendein anderes Feld)
  • Makro ausführen
Funktioniert. Der Betreff wird in einer Messagebox ausgegeben.

Vorgensweise 2:
  • Neue Mail öffnen
  • Ins Feld Betreff klicken
  • Betreff schreiben
  • Feld Betreff NICHT verlassen
  • Makro ausführen
Funktioniert nicht. Es wird eine leere Messagebox ausgegeben.

In der Praxis wird das wohl so gut wie nie vorkommen, aber trotzdem, kann man das irgendwie abfangen. Vielleicht einfach, indem man den Focus z.B. ins Feld Body wechselt?
Aber wie?

Danke
Gruß
Martin

Content-ID: 627428

Url: https://administrator.de/forum/outlook-neue-nachricht-betreff-auslesen-ist-leer-627428.html

Ausgedruckt am: 26.12.2024 um 21:12 Uhr

StefanKittel
StefanKittel 03.12.2020 um 08:13:14 Uhr
Goto Top
Hallo,

schau mal ob es für das Feld ein Dirty-Flag gibt.
Dann kannst Du zumindest vergleichen.
(Dirty-Flag==TRUE) AND (olMail.Subject=="") -> Sonderaktion oder Warnung

Stefan
146707
Lösung 146707 03.12.2020 aktualisiert um 09:56:18 Uhr
Goto Top
Ich würde den Betreff einfach im ItemSend Event abändern dann brauchst du auch keinen extra Button face-wink.

Aber wenn du das unbedingt so willst, so kannst du das umgehen
With ActiveInspector
    ' im Editor in Zeile 1 springen  
    .WordEditor.GoTo(3, 1).Select
    ' Mail zwischen speichern  
    .CurrentItem.Save
    ' Subject ausgeben  
    msgbox .CurrentItem.SUBJECT
End With
AlbertMinrich
AlbertMinrich 06.12.2020 um 11:49:02 Uhr
Goto Top
Zitat von @146707:

Ich würde den Betreff einfach im ItemSend Event abändern dann brauchst du auch keinen extra Button face-wink.
Den Button brauche ich, weil das Wort, um den der Betreff ergänzt werden soll, erst vom User eingegeben werden muss.

Aber wenn du das unbedingt so willst, so kannst du das umgehen
> With ActiveInspector
>     ' im Editor in Zeile 1 springen  
>     .WordEditor.GoTo(3, 1).Select
>     ' Mail zwischen speichern  
>     .CurrentItem.Save
>     ' Subject ausgeben  
>     msgbox .CurrentItem.SUBJECT
> End With
> 

Funktioniert einwandfrei.

Danke und Gruß
Martin