attribution automatique d'une catégorie à un répertoire
Le
notme
Bonjour à tous,
je cherche à attribuer de manière automatique une catégorie aux mails
contenus dans un répertoire imap.
j'ai trouvé ce code sur
http://www.developpez.net/forums/d7...ok-2007-a/
Sub essai()
'Déclaration des Objets et variables
Dim MonApply As Outlook.Application
Dim Expl As Explorer
Dim myNameSpace As NameSpace
Dim myFolder As MAPIFolder
Dim myItems As Items
Dim xi As Integer
'Instance des Objets
Set MonApply = Outlook.Application 'Application Outlook
'Expl nous donne le dossier courant
Set Expl = ActiveExplorer
'Permet d'accéder à toutes les données Outlook qui y sont stockées
Set myNameSpace = MonApply.GetNamespace("MAPI")
'On recupère l'ID du dossier courant puis on se positionne dans ce
dossier
'pour recupérer tous les messages
Set myFolder =
myNameSpace.GetFolderFromID(Expl.CurrentFolder.EntryID)
'La variable myItems prendra comme valeur
'tous les messages du dossier courant
Set myItems = myFolder.Items
For xi = 1 To myItems.Count
myItems.Item(xi).Categories = myFolder.Name
Next xi
End
mais comme l'explique son auteur, ça ne fonctionne que pour l'email
sélectionné lors du lancement de la macro.
comment faire pour que tout le répertoire soit sélectionné ?
Si quelqu'un a une piste, je suis preneur.
Bonne journée à tous.
je cherche à attribuer de manière automatique une catégorie aux mails
contenus dans un répertoire imap.
j'ai trouvé ce code sur
http://www.developpez.net/forums/d7...ok-2007-a/
Sub essai()
'Déclaration des Objets et variables
Dim MonApply As Outlook.Application
Dim Expl As Explorer
Dim myNameSpace As NameSpace
Dim myFolder As MAPIFolder
Dim myItems As Items
Dim xi As Integer
'Instance des Objets
Set MonApply = Outlook.Application 'Application Outlook
'Expl nous donne le dossier courant
Set Expl = ActiveExplorer
'Permet d'accéder à toutes les données Outlook qui y sont stockées
Set myNameSpace = MonApply.GetNamespace("MAPI")
'On recupère l'ID du dossier courant puis on se positionne dans ce
dossier
'pour recupérer tous les messages
Set myFolder =
myNameSpace.GetFolderFromID(Expl.CurrentFolder.EntryID)
'La variable myItems prendra comme valeur
'tous les messages du dossier courant
Set myItems = myFolder.Items
For xi = 1 To myItems.Count
myItems.Item(xi).Categories = myFolder.Name
Next xi
End
mais comme l'explique son auteur, ça ne fonctionne que pour l'email
sélectionné lors du lancement de la macro.
comment faire pour que tout le répertoire soit sélectionné ?
Si quelqu'un a une piste, je suis preneur.
Bonne journée à tous.

Poser une question


Pourquoi ne pas utiliser à la place de votre macro tout simplement une règle
qui va à la fois déplacer certains messages dans le dossier désigner et
attribuer une catégorie.
Cela est faisable avec la version 2007 d'Outlook mais je n'ai pas vérifié
pour la version 2003.
--
Cordialement
MehdiH
http://officeusers.blogspot.com/
_________________________________________
"notme" discussion :
Ça me parait contradictoire avec le code et le commentaire dans le
code.
Pourquoi ne pas demander à l'auteur lui-même ?
La réponse de Medhi a l'avantage de ne pas nécessiter de macro.
--
A+