Utilisation de Automation pour envoyer un message Microsoft Outlook

Traductions disponibles Traductions disponibles
Numéro d'article: 161088 - Voir les produits auxquels s'applique cet article
Ancien nº de publication de cet article : F161088
Agrandir tout | Réduire tout

Résumé

Niveau expert : Exige de très bonnes compétences en programmation, en interopérabilité et dans le domaine multi-utilisateurs.

Cet article vous montre comment utiliser Automation pour créer et envoyer un message Microsoft Outlook dans Microsoft Access 97.

Le présent article suppose que vous maîtrisez Visual Basic pour Applications et que vous êtes familiarisé avec la création d'applications Microsoft à l'aide des outils de programmation fournis avec Microsoft Access. Pour plus d'informations sur Visual Basic pour Applications, reportez-vous au manuel " Création d'applications avec Microsoft Access 97 ".

Pour plus d'informations sur l'utilisation d'Automation pour envoyer un message Microsoft Exchange, consultez l'article suivant dans la Base de connaissances Microsoft :
153311 Utilisation d'Automation pour envoyer un message Microsoft Exchange

Plus d'informations

REMARQUE : Il se peut que le code suivant ne fonctionne pas correctement si vous avez installé la mise à jour de la sécurité du courrier électronique dans Outlook. Pour plus d'informations sur cette mise à jour, consultez l'un des articles suivants dans la Base de connaissances Microsoft, en fonction de la version d'Outlook que vous possédez. : La méthode SendObject permet d'envoyer un message électronique MAPI dans Microsoft Access par le biais de la programmation. Toutefois, la méthode SendObject ne vous donne pas accès aux fonctionnalités complètes de courrier, comme la possibilité de joindre un fichier en externe ou de définir la priorité du message. L'exemple ci-dessous utilise Automation pour créer et envoyer un message électronique que vous pouvez utiliser pour bénéficier de nombreuses fonctionnalités dans Microsoft Outlook qui ne sont pas disponibles avec la méthode SendObject.

Il existe six étapes principales lorsque vous utilisez Automation pour envoyer un message électronique Microsoft Outlook :

  • Ouverture d'une session Outlook
  • Création d'un message
  • Ajout des destinataires (À, Cc et Cci) et recherche de leurs noms
  • Défintion des propriétés valides, telles que l'objet, le corps et la priorité du message
  • Ajout des pièces jointes (le cas échéant)
  • Affichage/Envoi du message
Pour programmer l'envoi d'un message électronique Microsoft Outlook, procédez comme suit :

  1. Créez un exemple de fichier texte appelé Clients.txt dans le dossier C:\Mes Documents.
  2. Démarrez Microsoft Access et ouvrez l'exemple de base de données Comptoir.mdb.
  3. Créez un module et tapez la ligne suivante dans la section Déclarations si nécessaire :
    Option Explicit
  4. Dans le menu Outils, cliquez sur Références.
  5. Dans la zone Références, sélectionnez le modèle d'objet Microsoft Outlook 8.0, puis cliquez sur OK.

    REMARQUE : Si le modèle d'objet Microsoft Outlook 8.0 ne s'affiche pas dans la zone Références disponibles, recherchez le fichier Msoutl8.olb sur votre disque dur. Si vous ne trouvez pas ce fichier, vous devez exécuter le programme d'installation de Microsoft Outlook pour l'installer avant de poursuivre.
  6. Tapez la procédure suivante dans le nouveau module :
          Sub SendMessage(DisplayMsg As Boolean, Optional AttachmentPath)
              Dim objOutlook As Outlook.Application
              Dim objOutlookMsg As Outlook.MailItem
              Dim objOutlookRecip As Outlook.Recipient
              Dim objOutlookAttach As Outlook.Attachment
    
              ' Crée la session Outlook.
              Set objOutlook = CreateObject("Outlook.Application")
    
              ' Crée le message.
              Set objOutlookMsg  = objOutlook.CreateItem(olMailItem)
    
              With objOutlookMsg
                  ' Ajoute le(s) destinataire(s) au message.
                  Set objOutlookRecip = .Recipients.Add("Nancy Davolio")
                  objOutlookRecip.Type = olTo
    
                  ' Ajoute les destinataires en copie conforme au message.
                  Set objOutlookRecip = .Recipients.Add("Michael Suyama")
                  objOutlookRecip.Type = olCC
    
                 ' Ajoute les destinataires en copie cachée au message.
                  Set objOutlookRecip = .Recipients.Add("Andrew Fuller")
                  objOutlookRecip.Type = olBCC
    
                 ' Définit l'objet, le corps et la priorité du message.
                 .Subject = "il s'agit d'un test Automation avec Microsoft Outlook"
                 .Body = "Corps du message." &vbCrLf & vbCrLf
                 .Importance = olImportanceHigh  'Haute
    
                 ' Ajoute des pièces jointes au message.
                 If Not IsMissing(AttachmentPath) Then
                     Set objOutlookAttach = .Attachments.Add(AttachmentPath)
                 End If
    
                 ' Vérifie les noms de chaque destinataire.
                 For Each ObjOutlookRecip In .Recipients
                     objOutlookRecip.Resolve
                 Next
    
                 ' Le message doit-il être affiché avant d'être envoyé ?
                 If DisplayMsg Then
                     .Display
                 Else
                     .Save
                     .Send
                 End If
              End With
              Set objOutlook = Nothing
          End Sub
  7. Pour tester cette procédure, tapez la ligne suivante dans la fenêtre de débogage, puis appuyez sur ENTRÉE :
    SendMessage True, "C:\My Documents\Customers.txt"
    Notez qu'un nouveau message s'affiche dans Microsoft Outlook avec une pièce jointe.

    Pour envoyer le message sans l'afficher dans Microsoft Outlook, appelez la procédure avec une valeur False pour le premier argument.
    SendMessage False, "C:\My Documents\Customers.txt"
    Pour envoyer le message sans pièce jointe, ne précisez pas le deuxième argument lors de l'appel de la procédure.
    SendMessage True

Références

Pour plus d'informations sur l'utilisation d'Automation dans Microsoft Access, effectuez une recherche, basée sur le mot Automation à partir de l'onglet Index de l'aide, ou formulez votre question au Compagnon Office de Microsoft Access 97.

Pour plus d'informations sur l'utilisation d'Automation pour contrôler Microsoft Outlook, consultez les articles suivants dans la Base de connaissances Microsoft :
160502 ACC : Utilisation d'Automation pour ajouter des rendez-vous dans Microsoft Outlook

161012 VBA : Création d'un élément Nouveau contact dans Outlook à l'aide d'Automation

Propriétés

Numéro d'article: 161088 - Dernière mise à jour: jeudi 12 octobre 2006 - Version: 4.2
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Access 97 Standard
Mots-clés : 
kbdta kbhowto kbinterop kbole KB161088
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.
Exclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.

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