Lundi 29 Mai 2017  
Navigation
FAQ Outlook
» Foire Aux Questions «
Recherche
Téléchargements
Forums Outlook
Plan du site
Liens
Login

Les inscriptions sont fermées

Pseudo

Mot de passe

Se souvenir de moi



Mot de passe oublié ? Mot de passe oublié ?
Connexions
Bienvenue à [FAMACLUB]
le 1,414ème membre
Visiteurs en ligne : 2
Membres en ligne : 0

 zorro71 16:37:05
 callaghi 8 semaines
 Alphator 18 semaines
 ande 23 semaines
 Oliv 25 semaines
 cubitus 29 semaines
 JièL 34 semaines
 angel 39 semaines
 Quartzkyte 48 semaines
 grouilau 48 semaines

Non activés :0

Nombre de visiteurs
depuis le : 12/11/2008

Aujourd'hui:1 542
En ligne :2
Max. en ligne:312
Max. / jour:66 529
Total hier:2 970
Total ce mois:107 933
Total visites:17 545 700
Moyenne/jour:5 625

Dernières 24h

























Publicité ; elle permet de financer le site
Navigation parmi les catégories/articles
« Catégorie     Q15000 Macros - VBA (41)  Catégorie »
« Article ( « Catégorie)  Article »  [>>]
R15000 [VBA] TUTORIEL OULOOK VBA
Voici un petit tutoriel sur la programmation d'Outlook.
Si vous avez déjà programmé en VBA EXCEL ou WORD la base est la même, seuls les objets changent et il n'y a pas d'enregistreur de macro (jusqu'à OL2003)

Vous devez dans un premier temps dans Outils/macro/sécurité Cochez Niveau Moyen. voir l'article http://faq.outlook.fr/readarticle.php?article_id=215 pour éviter de confirmer l'activation des macros.

Puis ouvrir l'éditeur VBE  en tapant ALT+F11.

Réservez l'emplacement ThisOutlookSession pour les macros événementielles (qui se lancent lors de l'envoi, la réception etc...).

Insérez Un module par le menu Insertion puis copiez dans ce module la macro suivante :
 sub AvecCeMail()
 
Set CeMail= ActiveInspector.CurrentItem
msgbox CeMail.subject
end sub


Cette macro permet de travailler avec l'ITEM actif c'est-à-dire ouvert, cela peut être un mail, une tâche, un rdv,...

Les éléments Outlook sont les suivants :

AppointmentItem
ContactItem
DistListItem
DocumentItem
JournalItem
MailItem
MeetingItem
NoteItem
PostItem
RemoteItem
ReportItem
TaskItem
TaskRequestAcceptItem
TaskRequestDeclineItem
TaskRequestItem
TaskRequestUpdateItem


Ici on partira d'un mail.

Comment cela s'appelle t'il ?  :
Pour savoir comment s'appelle telle ou telle propriété utilisez le débogage.
 
En face de "Msgbox " cliquez bouton droit puis /Basculer/Point d'arrêt ou F9 (ctrl+maj+F9 pour les enlever)

Lancez la macro par F5 ou avec le menu débogage

en regardant dans "la fenêtre variable locale" (menu affichage de VBE) vous pouvez avoir les propriétés de cet objet en cliquant sur le + en face de Cemail.

Vous voyez par exemple que Cemail a une propriété Attachments qui représente toutes les pièces jointes du mail.
Vous pouvez ajouter une ligne à votre code :

MsgBox "ce mail comporte " & CeMail.Attachments.Count & " pièce(s) jointe(s)."

Vous voyez aussi qu'il a une propriété BodyFormat qui indique si c'est mail en TEXTE BRUT (olFormatPlain) HTML (olFormatHTML) ou RTF (olFormatRichText).
ajoutez à ce votre macro :
 
If CeMail.BodyFormat =olFormatHTML then
msgbox Cemail.HTMLbody
else
msgbox CeMail.body
End if

Nous avons ici mis une clause  SI (IF) c'est un mail en HTML j'affiche le corps du mail HTML sinon le corps normal.

Pour en savoir plus sur une méthode, une propriété, un événement,... tapez le dans VBE et/ou sélectionnez le et appuyez sur F1, l'aide va s'ouvrir vous donnant le mode d'emploi et des exemples.

Sélectionnez IF puis F1 , MSGBOX puis F1 etc.

Un autre exemple avec les principaux objets :

Sub BaBA()
Dim App
Dim Insp
Dim Expl
Dim Oitem
    Set App = Outlook.Application 'désigne Outlook
    Debug.Print App
    Set Expl = App.ActiveExplorer 'désigne l'exploreur actif càd la fenêtre des dossiers.
    Debug.Print Expl.Caption
    Set Insp = ActiveInspector 'désigne la fenêtre de l'élement actif
    Debug.Print Insp.Caption
    Set Oitem = ActiveInspector.CurrentItem 'désigne l'élément actif càd le mail le contact ou rdv...
    Debug.Print Oitem
    Stop

End Sub



Allez plus loin :

Pour apprendre rien de tel que de modifier du code déjà existant. répérez un code voisin de ce que vous voulez faire et modifiez selon vos besoins.

Cherchez avec google des mots clefs comme "sub" + "mailitem"  etc... ils vous aiguilleront sur du code existant.

Liens utiles :
En anglais



  • http://www.outlookcode.com/article.aspx?id=40 ce site est la référence en matière de codes.
  • http://blogs.officezealot.com/legault/pages/20086.aspx une introduction au VBA outlook
  • Outlook Redemption  une bibliothèque d'objets qui fait ce que le vba Outlook ne fait pas.
  • http://www.slovaktech.com/code_samples.htm des exemples
  • Slipstick

  • Fin provisoire.


    Publié par Oliv le mardi 24 juillet 2007 13:53 0 Commentaires 23869 Lecture(s) Imprimer
    Commentaires
    les commentaires sont fermés.
    Copyright et partage
    Ce site est sous licence Creative Commons.
    Vous pouvez utiliser toutes les informations présentent ici, mais il vous est interdit de les reproduire sans citer la source.

    Creative Commons License
    OUI au partage
    NON au « copillage »

    Ajouter aux favoris / partager : 
    URL :
    BBcode :
    HTML :
    Cliquez ci dessus sur le lien que vous voulez copier et [Ctrl] + [C] ou cliquez sur le bouton [ C ]
    Articles similaires
    Articles Catégories
    R15045 [VBA] Ouvrir l'arborescence des pst contenant une boîte de réception Q15000 Macros - VBA
    R15930 [VBA] Création de menu dans outlook Q15000 Macros - VBA
    R15380 [VBA] Envoi via VBA : suppression de la confirmation d'envoi Q15000 Macros - VBA
    R15280 [VBA] Exporter un mail et l'ouvrir dans IE avec ses images Q15000 Macros - VBA
    R15930 [VBA] Eliminer les doublons Q15000 Macros - VBA
    Nuage de tags
    R07050 Autoriser / Interdire l'affichage des images et/ou l'activation du HTML, R12110 Un éphéméride dans Outlook, R12050 Définir un rendez-vous répétitif, R08120 Erreur 554 Relay Access Denied, R10095 Utiliser PFBACKUP avec Outlook 2010, R09170 Choisir le format d'affichage des n° de tél (empêcher les parenthèses), R08140 Interface non enregistrée ou interface non prise en charge, R20140 Configurer un compte GMAIL pour Outlook 2007, R00020 Mettre Outlook 2002 (et autres) dans le systray, R20010 Configurer un compte POP pour Outlook 2002/2003, R99050 Impression d'écran, R14040 Personnaliser la barre d'outils d'Outlook, R08120 Erreur 554 Relay Access Denied, R15340 [VBA] Obliger la saisie d'un sujet, R09040 Supprimer un des noms erronés de la suggestion d'adresses (saisie auto ou saisie semi auto)

    aucun Crack, CrackZ, no-CD, DownloadZ, TelechargementZ, Serial, Numéro de série, N0 de série, Serialz ni Keygen pour Outlook sur ce site.

    Blague aléatoire
    Publicité
    Météo Marseille
    [/\] Copyright JièL / Jean-Louis Goubert © 2003-2009 [/\]