Comment faire pour automatiser Outlook à l'aide de Visual Basic

Traductions disponibles Traductions disponibles
Numéro d'article: 220595 - Voir les produits auxquels s'applique cet article
Cet article peut contenir des liens vers des informations en langue anglaise (pas encore traduites).
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article montre comment contrôler par programme Microsoft Outlook à l'aide de l'Automation à partir de Visual Basic. Cet exemple montre comment créer des contacts et des rendez-vous et envoyer des messages à l'aide du modèle d'objet Microsoft Outlook.

Plus d'informations

Appliquez la procédure ci-dessous pour créer et exécuter l'exemple. Pour exécuter l'exemple, vous avez besoin d'une référence de liaison anticipée à une bibliothèque de types Microsoft Outlook. Le tableau suivant répertorie les noms de fichiers des bibliothèques de types pour les différentes versions de Microsoft Outlook :
Réduire ce tableauAgrandir ce tableau
Version d'Outlook :Comment une bibliothèque de types apparaît dans la liste des RéférencesNom du fichier
Outlook 97"Bibliothèque d'objets Microsoft Outlook 8.0"msoutl8.olb
msoutl8.olb"Bibliothèque d'objets Microsoft Outlook 98"msoutl85.olb
Outlook 2000"Bibliothèque d'objets Microsoft Outlook 9.0"msoutl9.olb
Outlook 2002"Bibliothèque d'objets Microsoft Outlook 10.0"msoutl.olb
Office Outlook 2003"Bibliothèque d'objets Microsoft Outlook 11.0"msoutl.olb

Création de l'exemple d'automatisation

  1. Démarrez Visual Basic et créez un projet EXE standard.
  2. Dans le menu Projet, cliquez sur Références et sélectionnez Microsoft Outlook.
  3. Ajoutez un bouton à votre formulaire.
  4. Double-cliquez sur le bouton, puis ajoutez le code suivant :
     ' Start Outlook.
     ' If it is already running, you'll use the same instance...
       Dim olApp As Outlook.Application
       Set olApp = CreateObject("Outlook.Application")
        
     ' Logon. Doesn't hurt if you are already running and logged on...
       Dim olNs As Outlook.NameSpace
       Set olNs = olApp.GetNamespace("MAPI")
       olNs.Logon
    
     ' Create and Open a new contact.
       Dim olItem As Outlook.ContactItem
       Set olItem = olApp.CreateItem(olContactItem)
    
     ' Setup Contact information...
       With olItem
          .FullName = "James Smith"
          .Birthday = "9/15/1975"
          .CompanyName = "Microsoft"
          .HomeTelephoneNumber = "704-555-8888"
          .Email1Address = "someone@microsoft.com"
          .JobTitle = "Developer"
          .HomeAddress = "111 Main St." & vbCr & "Charlotte, NC 28226"
       End With
       
     ' Save Contact...
       olItem.Save
        
     ' Create a new appointment.
       Dim olAppt As Outlook.AppointmentItem
       Set olAppt = olApp.CreateItem(olAppointmentItem)
        
     ' Set start time for 2-minutes from now...
       olAppt.Start = Now() + (2# / 24# / 60#)
        
     ' Setup other appointment information...
       With olAppt
          .Duration = 60
          .Subject = "Meeting to discuss plans..."
          .Body = "Meeting with " & olItem.FullName & " to discuss plans."
          .Location = "Home Office"
          .ReminderMinutesBeforeStart = 1
          .ReminderSet = True
       End With
        
     ' Save Appointment...
       olAppt.Save
        
     ' Send a message to your new contact.
       Dim olMail As Outlook.MailItem
       Set olMail = olApp.CreateItem(olMailItem)
     ' Fill out & send message...
       olMail.To = olItem.Email1Address
       olMail.Subject = "About our meeting..."
       olMail.Body = _
            "Dear " & olItem.FirstName & ", " & vbCr & vbCr & vbTab & _
            "I'll see you in 2 minutes for our meeting!" & vbCr & vbCr & _
            "Btw: I've added you to my contact list."
       olMail.Send
        
     ' Clean up...
       MsgBox "All done...", vbMsgBoxSetForeground
       olNS.Logoff
       Set olNs = Nothing
       Set olMail = Nothing
       Set olAppt = Nothing
       Set olItem = Nothing
       Set olApp = Nothing
    						
  5. Exécutez le projet et cliquez sur le bouton pour exécuter le code.
Lorsque le code s'exécute, vous devez avoir un nouveau contact du nom de "Pierre Lopez", un rendez-vous programmé dans deux minutes avec un rappel à apparaître dans une minute et avoir envoyé un message à personne@microsoft.com. De même, comme vous avez ajouté une date anniversaire à votre contact (15/9), un événement périodique a été ajouté à votre Calendrier Outlook pour vous rappeler cette date.

Deux boîtes de dialogue ont été ajoutées à Outlook 2002 : l'une vous avertit lorsqu'un programme tente d'accéder aux adresses de messagerie stockées dans Outlook et vous demande si vous voulez autoriser cet accès, l'autre est un message signalant qu'un programme tente d'envoyer un message électronique. Cette fonctionnalité vous protégera contre toute utilisation pirate par un virus qui tenterait d'envoyer des messages à partir de votre système.

Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant de la Base de connaissances Microsoft.
290500 Description destinée aux développeurs concernant les fonctionnalités de sécurité de la messagerie électronique dans Outlook 2002

Références

Pour plus d'informations sur les ressources de programmation pour Outlook, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft.
166368 Ressources pour les formulaires personnalisés et la programmation dans Outlook 97
180826 Ressources pour les formulaires personnalisés et la programmation dans Outlook 98
271225 Ressources pour les formulaires personnalisés et la programmation dans Outlook 2000
287531 Liste de ressources pour les formulaires personnalisés et la programmation avec Outlook 2002
313802 Comment faire pour extraire des contacts à l'aide du modèle d'objet Outlook dans Visual Basic .NET
313788 Comment faire pour créer un rendez-vous à l'aide du modèle d'objet Outlook dans Microsoft Visual Basic .NET

Propriétés

Numéro d'article: 220595 - Dernière mise à jour: mardi 22 novembre 2005 - Version: 9.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Basic 6.0 Édition Entreprise
  • Microsoft Visual Basic 5.0 Édition initiation
  • Microsoft Visual Basic 6.0 Édition initiation
  • Microsoft Visual Basic 5.0 Édition professionnelle
  • Microsoft Visual Basic 6.0 Édition professionnelle
  • Microsoft Visual Basic 5.0 Édition Entreprise
  • Microsoft Office Outlook 2003
  • Microsoft Outlook 2002 Standard
  • Microsoft Outlook 2000 Standard
  • Microsoft Outlook 97 Standard
  • Microsoft Outlook 98 Standard
Mots-clés : 
kbhowto kboutlookobj kbautomation KB220595
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com