Ressources programmation VBA Outlook (2010)

Jam

XLDnaute Accro
Bonjour à tous,

Quelqu'un connaîtrait-il un bon site de ressources concernant la programmation d'Outlook (2010) en-dehors de M$DN ?
J'ai besoin de gérer la redirection de message en fonction d'éléments du corps du message et d'une liste externe pour transférer le mèl à la bonne personne. Problème: je n'ai jamais pratiqué la prog d'Outlook et j'ai donc besoin d'enrichir mes connaissances.

Merci d'avance
 

Gelinotte

XLDnaute Accro
Re : Ressources programmation VBA Outlook (2010)

Bonsoir,

Ce forum çi n'a pas de tuto spécifique à Outlook, mais il y a pas mal de gens qui ont réussis à combler différents besoins dans Outlook en passant par Excel.

Un peu de recherche pourrait peut-être apporter des pistes de solutions.


Gelinotte
 

mromain

XLDnaute Barbatruc
Re : Ressources programmation VBA Outlook (2010)

Bonjour Jam, Gelinotte, le forum,

Si tu ne t’en sort pas avec les Règles classiques d’Outlook, il est possible de récupérer un mail à sa réception afin de faire un traitement par macro.

Ça se fait grâce à l’évènement Ce lien n'existe plus de l’Application Outlook.
Voici une adaptation de l’exemple fourni dans l’aide :
Code:
Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
Dim varEntryIDs() As String, i As Long, item As Object
    varEntryIDs = Split(EntryIDCollection, ",")
    For i = 0 To UBound(varEntryIDs)
        Set item = Application.Session.GetItemFromID(varEntryIDs(i))
        If TypeName(item) = "MailItem" Then MsgBox item.Body, , item.Subject & " (from " & item.Sender & ")"
    Next
End Sub
Il boucle sur chaque élément reçu et affiche une MsgBox s'il s'agit d'un mail.


Sinon, pour le VBA d’Outlook l’objet principal est la Session (Application.Session), et après, tout est Ce lien n'existe plus et Ce lien n'existe plus.

Voici par exemple une boucle sur chaque Folder de la Session (les comptes mails connectés ainsi que les fichiers d’archives connectés à la Session) :
Code:
Sub Test1()
Dim curFold As Folder, msg As String
    For Each curFold In Application.Session.Folders
        msg = msg & vbNewLine & " - " & curFold.Name
    Next curFold
    MsgBox """Folders"" de la ""Session"" :" & msg
End Sub
Le suivant boucle sur chaque dossier de la boite mail [noparse]toto@tata.fr[/noparse] :
Code:
Sub Test2()
Dim curFold As Folder, msg As String
    For Each curFold In Application.Session.Folders("toto@tata.fr").Folders
        msg = msg & vbNewLine & " - " & curFold.Name
    Next curFold
    MsgBox """Folders"" de ""toto@tata.fr"" :" & msg
End Sub


Ensuite, chaque Folder possède des Folders et des Items (accessibles via monFolder.Folders et monFolder.Items).
Il existe plusieurs types d’Item à utiliser selon ce qu'on veut faire :
  • Ce lien n'existe plus pour gérer les mails,
  • Ce lien n'existe plus pour gérer les réunions du calendrier
  • Ce lien n'existe plus pour gérer les demandes de réunion
  • Ce lien n'existe plus pour gérer les contacts,
  • ...
La liste des Méthodes, Propriétés et Evènements des objets est facilement trouvable dans l'Explorateur d'Objet (F2 depuis l'éditeur VBA).

A+
Miki
 
Dernière édition:

Jam

XLDnaute Accro
Re : Ressources programmation VBA Outlook (2010)

Salut à tous,

Bizarre je n'ai pas eu les notifs de certains de vos posts. Désolé donc de n'avoir pas donné plus de news.
En tout cas merci Romain et Yaloo pour vos contribs. Elles sont venues enrichir un peu plus mes connaissances.
Sinon, j'ai du laisser tomber mon projet car il n'y a pas d'infos suffisante dans le mail (corps ou objet) pour pouvoir effectuer un tri cohérent.

Bon courage,
 

Statistiques des forums

Discussions
312 669
Messages
2 090 740
Membres
104 644
dernier inscrit
MOLOKO67