Comment utiliser Automation pour envoyer un message Microsoft Outlook à l’aide d’Access 2000

Cet article s’applique à une base de données Microsoft Access (.mdb) et à un projet Microsoft Access (.adp).

Résumé

Cet article explique comment utiliser Automation pour créer et envoyer un message Microsoft Outlook dans Microsoft Access 2000.

Microsoft fournit des exemples de programmation à titre d’illustration uniquement, sans garantie expresse ou implicite. Cela inclut, sans y être limité, les garanties implicites de commercialisation et d’adaptation à un but en particulier. Cet article considère que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du Support technique Microsoft peuvent vous expliquer les fonctionnalités d’une procédure particulière, mais ils ne peuvent pas modifier les exemples en vue de vous fournir des fonctionnalités supplémentaires ou de créer des procédures répondant à vos besoins spécifiques.

Remarque

Le code suivant peut ne pas fonctionner correctement si vous avez installé la mise à jour de sécurité de messagerie outlook.

Vous pouvez utiliser la SendObject méthode pour envoyer un message électronique MAPI par programmation dans Microsoft Access. Toutefois, la SendObject méthode ne vous donne pas accès à des fonctionnalités de messagerie complètes, telles que la possibilité d’attacher un fichier externe ou de définir l’importance du message. L’exemple suivant utilise Automation pour créer et envoyer un message électronique que vous pouvez utiliser pour tirer parti de nombreuses fonctionnalités de Microsoft Outlook qui ne sont pas disponibles avec la SendObject méthode .

Il existe six étapes main pour envoyer un message électronique Microsoft Outlook à l’aide d’Automation, comme suit :

  1. Initialisez la session Outlook.
  2. Créez un message.
  3. Ajoutez les destinataires (To, CC et BCC) et résolvez leur nom.
  4. Définissez des propriétés valides, telles que l’objet, le corps et l’importance.
  5. Ajoutez des pièces jointes (le cas échéant).
  6. Afficher/Envoyer le message.

Envoi d’un message électronique Microsoft Outlook par programmation

  1. Créez un exemple de fichier texte nommé Customers.txt dans le dossier C :\Mes documents.

  2. Démarrez Microsoft Access et ouvrez l’exemple de base de données Northwind.mdb.

  3. Créez un module et tapez la ligne suivante dans la section Déclarations si ce n’est pas déjà fait :

    Option Explicit

  4. Dans le menu Outils , sélectionnez Références.

  5. Dans la zone Références , sélectionnez la bibliothèque d’objets Microsoft Outlook 9.0, puis sélectionnez OK.

    Remarque

    Si la bibliothèque d’objets Microsoft Outlook 9.0 n’apparaît pas dans la zone Références disponibles , recherchez le fichier Msoutl9.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 continuer avec cet exemple.

  6. Tapez la procédure suivante dans le nouveau module :

    Sub SendMessage(Optional AttachmentPath)
        Dim objOutlook As Outlook.Application
        Dim objOutlookMsg As Outlook.MailItem
        Dim objOutlookRecip As Outlook.Recipient
        Dim objOutlookAttach As Outlook.Attachment
    
        ' Create the Outlook session.
        Set objOutlook = CreateObject("Outlook.Application")' Create the message.
        Set objOutlookMsg = objOutlook.CreateItem(olMailItem)
    
        With objOutlookMsg
        ' Add the To recipient(s) to the message.
        Set objOutlookRecip = .Recipients.Add("Nancy Davolio")
        objOutlookRecip.Type = olTo
    
        ' Add the CC recipient(s) to the message.
        Set objOutlookRecip = .Recipients.Add("Andrew Fuller")
        objOutlookRecip.Type = olCC
    
        ' Set the Subject, Body, and Importance of the message.
        .Subject = "This is an Automation test with Microsoft Outlook"
        .Body = "Last test - I promise." & vbCrLf & vbCrLf
        .Importance = olImportanceHigh 'High importance
    
        ' Add attachments to the message.
        If Not IsMissing(AttachmentPath) Then
        Set objOutlookAttach = .Attachments.Add(AttachmentPath)
        End If
    
        ' Resolve each Recipient's name.
        For Each objOutlookRecip In .Recipients
        objOutlookRecip.Resolve
        If Not objOutlookRecip.Resolve Then
        objOutlookMsg.Display
        End If
        Next
        .Send
    
        End With
        Set objOutlookMsg = Nothing
        Set objOutlook = Nothing
    End Sub
    
  7. Pour tester cette procédure, tapez la ligne suivante dans la fenêtre Exécution , puis appuyez sur Entrée :

    SendMessage "C:\My Documents\Customers.txt"

    Pour envoyer le message sans spécifier de pièce jointe, omettez l’argument lors de l’appel de la procédure, comme suit :

    SendMessage