1 2 3 4 5 6 7 8
| Dim varEntryIDs
Dim objItem
Dim i As Integer
varEntryIDs = Split(EntryIDCollection, ",")
For i = 0 To UBound(varEntryIDs)
Set objItem = Application.Session.GetItemFromID(varEntryIDs(i))
If objItem.Class = olMail Then
Set nvmail = objItem |
Cette partie est floue, je suppose que c'est grâce à ça que l'on arrive à différencier un Mail simple d'un AppointementItem.
J'ai essayé de refaire cette exercice ou l'opération ne se fait pas automatiquement, mais à l'aide d'un bouton. Cependant je me retrouve confronter au même problème, les appointementItem bloquent mon code, ou alors rien ne se passe...
Bonjour,
C'est mieux de continuer dans la discussion.
La macro se lance quand OUTLOOK reçoit un Mail (ou autre) mais il peut y en avoir plusieurs c'est pouce cela que l'on parcours la collection EntryIDCollection
Pour différencier un Email d'un autre élément on utilise effectivement
If objItem.Class = olMail Then
Pour lancer ce code sur le mail ouvert
1 2 3 4 5 6 7 8 9 10 11 12 13
| Sub change_sujet ()
Dim nvmail As MailItem
Dim objItem
Set objItem = ActiveInspector.CurrentItem
If objItem.class = olmail Then
Set nvmail = objItem
If Mid(nvmail.Subject, 5, 1) <> "-" Then
nvmail.Subject = Format(nvmail.ReceivedTime, "yyyy-mm-dd") & " - " & nvmail.Subject
nvmail.Save
End If
End If
End Sub |
Partager