Samedi 06 Juin 2020  
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 : 1
Membres en ligne : 0

 JièL 6 semaines
 manucau 8 semaines
 Manu-pb 9 semaines
 Oliv 14 semaines
 pirobert 55 semaines
 jcgdisle 80 semaines
 EMERGENCY 101 semaines
 beaulieu 112 semaines
 callaghi 116 semaines
 Charlie76 122 semaines

Non activés :0

Nombre de visiteurs
depuis le : 12/11/2008

Aujourd'hui:17
En ligne :1
Max. en ligne:312
Max. / jour:66 529
Total hier:5 158
Total ce mois:19 306
Total visites:23 667 764
Moyenne/jour:5 604

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 26909 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
    R01150 Afficher un compte Hotmail avec Outlook 2000 et suivant, R99160 Le mot de passe, R12110 Un éphéméride dans Outlook, R10060 Sauvegarder le carnet d'adresses personnel (.PAB), R17040 Envoyer un e-mail depuis un formulaire de rendez-vous, R05030 Modifier la police et la taille des caractères du corps du message, R20010 Configurer un compte POP pour Outlook 2002/2003, R17060 Remplacer les formulaires par défaut, R11030 Importer tout ou partie d'un fichier .PST, R15370 [VBA] Envoyer ou renvoyer un ou plusieurs mails, R03050 Définir le papier à lettres par défaut, R18010 Synchroniser un PDA avec un compte Exchange, R17000 But d'un formulaire, R09220 Ajouter rapidement une adresse aux contacts, R13050 Affecter une tâche à quelqu'un

    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é
    [/\] Copyright JièL / Jean-Louis Goubert © 2003-2009 [/\]