2010-07-21 5 views
5

Ho provato a impostare alcune proprietà su questo oggetto per inviare un messaggio di posta elettronica con grande importanza, ma niente sembrava funzionare. Ecco quello che ho provato:Come posso impostare "Elevata importanza" sulle e-mail inviate tramite VBA?

objEmail.Importance = 2 

objEmail.Configuration.Fields.Item("urn:schemas:mailheader:X-MSMail-Priority") = "High"  ' For Outlook 2003 

objEmail.Configuration.Fields.Item("urn:schemas:mailheader:X-Priority") = 2     ' For Outlook 2003 also 

objEmail.Configuration.Fields.Item("urn:schemas:httpmail:importance") = 2 

Function Send(sTo As String, sFrom As String, sSubject As String) 
    Set objEmail = CreateObject("CDO.Message") 
     objEmail.From = sFrom 
     objEmail.To = sTo 
     objEmail.Subject = sSubject 
     objEmail.Textbody = emailBody 
     objEmail.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "my.smtp.server" 
     objEmail.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
     // is there a property for high importance, outlook 2007? 
     objEmail.Configuration.Fields.Update   
    objEmail.Send 
End Function 
+0

L'utilizzo di 'objEmail.Fields.Item' piuttosto che di' objEmail.Configuration.Fields.Item' funziona? –

+0

Scusate Martin, non è stato così. –

+0

Sì, ho perso un po 'la fiducia in quella risposta dopo qualche ulteriore ricerca su google. –

risposta

8

E 'stato un po' che ho lavorato con Outlook e VBA, ma ho ancora vari cheat fogli e collegamenti. L'ho scavato; spero che sia d'aiuto!

Prova a impostare la proprietà .Importance nell'oggetto di posta

with myEmail 
    'can be olImportanceNormal, olImportanceHigh or olImportanceLow 
    .Importance = olImportanceNormal 
    .Subject = "Subject line" 
    .Body = "Body Content" 
end with 
+0

Doh! In qualche modo mi sono completamente perso nel tuo OP che stai usando .importanza. – L1Wulf

+2

In ogni caso, olImportanceNormal è una costante incorporata e non deve essere tra virgolette. – Fionnuala

+0

@Remou: buona presa. Aggiornamento – L1Wulf

0

Da Remou's link nei commenti, questo funziona per Outlook 2010 via VBA:

cdoMessage.Fields.Item(cdoImportance) = cdoHigh 
4

.Importance = 2 (per chi cerca nel 2015).

+1

dal 2013 al 2015 .. questa era la soluzione – Sid