2008-09-18 23 views
5

Básicamente, tenemos una configuración de reglas para ejecutar un script cuando se detecta una palabra de código en el cuerpo de un mensaje entrante. El script agregará el encabezado del asunto actual con una palabra al frente. Por ejemplo, Antes: "Mensaje de prueba", después: "Departamento - Mensaje de prueba". ¿Algunas ideas?Añadir encabezado de asunto en Outlook (VBA)

Respuesta

0

no han sido evaluados:

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

O si necesita un guión completo:

hacer el funcionamiento de un script con el MailItem como parámetro.

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 
+1

¿Por qué crea una nueva variable para el elemento de correo y lo busca mediante EntryID? El elemento de correo está disponible directamente para el procedimiento como parámetro. – 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 

¿Nos estamos perdiendo algo? EDIT: Doh! Ya respondiste nuestra pregunta con un guión completo ... ¡Gracias!

Cuestiones relacionadas