2010-07-21 7 views
5

J'ai essayé de définir quelques propriétés sur cet objet pour envoyer un email avec une grande importance, mais rien ne semblait fonctionner. Voici ce que j'ai essayé:Comment puis-je définir "Importance élevée" sur les e-mails envoyés via 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'utilisation de 'objEmail.Fields.Item' plutôt que de' objEmail.Configuration.Fields.Item' fonctionne-t-elle? –

+0

Désolé Martin, ce n'est pas le cas. –

+0

Oui, j'ai un peu perdu confiance dans cette réponse après quelques recherches supplémentaires. –

Répondre

8

Il a été un moment que je travaille avec Outlook et VBA mais j'ai encore différentes feuilles et des liens triche. J'ai creusé ça; J'espère que cela aide!

Définissez la propriété .Importance dans votre objet mail

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

Doh! D'une façon ou d'une autre j'ai complètement raté dans votre OP que vous utilisez .importance. – L1Wulf

+2

Dans tous les cas, olImportanceNormal est une constante intégrée et ne doit pas être entre guillemets. – Fionnuala

+0

@Remou: bonne prise. – L1Wulf

0

De Remou's link dans les commentaires, cela fonctionne pour Outlook 2010 via VBA:

cdoMessage.Fields.Item(cdoImportance) = cdoHigh 
4

.Importance = 2 (pour ceux qui cherchent en 2015).

+1

mise à niveau de 2013 à 2015 .. ce fut la solution – Sid