Grundsätzlich haben wir eine Regeleinstellung, um ein Skript auszuführen, wenn ein Codewort im Körper einer eingehenden Nachricht erkannt wird. Das Skript fügt den aktuellen Betreffkopf mit einem Wort voran an. Zum Beispiel Vorher: "Test Message", nach: "Dept - Test Message". Irgendwelche Ideen?Betreffzeile in Outlook (VBA) anhängen
5
A
Antwort
0
Nicht getestet:
mailItem.Subject = "Dept - " & mailItem.Subject
mailItem.Save
4
Oder wenn Sie ein ganzes Skript benötigen:
Sie das Ausführen eines Skripts mit dem MailItem als Parameter.
Sub RewriteSubject(MyMail As MailItem)
Dim mailId As String
Dim outlookNS As Outlook.NameSpace
Dim myMailItem As Outlook.MailItem
mailId = MyMail.EntryID
Set outlookNS = Application.GetNamespace("MAPI")
Set myMailItem = outlookNS.GetItemFromID(mailId)
' Do any detection here
With myMailItem
.Subject = "Dept - " & mailItem.Subject
.Save
End With
Set myMailItem = Nothing
Set outlookNS = Nothing
End Sub
0
Sub AppendSubject(MyMail As MailItem)
Dim strID As String
Dim mailNS As Outlook.NameSpace
Dim mailItem As Outlook.MailItem
strID = MyMail.EntryID
Set mailNS = Application.GetNamespace("MAPI")
Set mailItem = mailNS.GetItemFromID(strID)
mailItem.Subject = "Dept - " & mailItem.Subject
mailItem.Save
Set mailItem = Nothing
Set mailNS = Nothing
End Sub
Fehlt etwas? EDIT: Doh! Sie haben unsere Frage bereits mit einem vollständigen Skript beantwortet ... Danke!
Warum erstellen Sie eine neue Variable für das Mailitem und suchen es nach EntryID? Das Mailelement steht der Prozedur als Parameter direkt zur Verfügung. – JimmyPena