2008-09-18 12 views
5

Temel olarak, gelen bir iletinin gövdesinde bir kod sözcüğü algılandığında bir komut dosyasını çalıştırmak için bir kural ayarlamamız vardır. Komut, mevcut konu başlığını öndeki bir kelime ile ekleyecektir. Örneğin, Önce: "Test Mesajı", Sonra: "Dept - Test Mesajı". Herhangi bir fikir?Outlook'ta Konu Başlığı Ekle (VBA)

mailItem.Subject = "Dept - " & mailItem.Subject 
mailItem.Save 

cevap

0

Test edilmedi

parametre olarak MailItem ile çalıştır bir komut dosyası yapın.

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 
4

Yoksa bütün bir komut dosyası gerekirse:

+1

Mailitem için neden yeni bir değişken oluşturuyorsunuz ve bunu EntryID tarafından mı arıyorsunuz? Mailitem doğrudan bir parametrede prosedür için kullanılabilir. – JimmyPena

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 

biz bir şey bulamıyor musunuz? DÜZENLEME: Doh! Soruyu tam bir senaryo ile zaten yanıtladı ... Teşekkürler!