Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

Utilisation de Automation pour envoyer un message Microsoft Outlook

Ancien nº de publication de cet article : F161088
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.
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 :
153311Utilisation 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 :
160502ACC : Utilisation d'Automation pour ajouter des rendez-vous dans Microsoft Outlook

161012VBA : Création d'un élément Nouveau contact dans Outlook à l'aide d'Automation
OutSol OutSol97 OutSol98
Propriétés

ID d'article : 161088 - Dernière mise à jour : 10/12/2006 01:35:20 - Révision : 4.2

  • Microsoft Access 97 Standard
  • kbdta kbhowto kbinterop kbole KB161088
Commentaires