Verwenden von Automation zum Senden einer Microsoft Outlook-Nachricht mit Access 2000

Dieser Artikel bezieht sich auf eine Microsoft Access-Datenbank (.mdb) und ein Microsoft Access-Projekt (ADP).

Zusammenfassung

In diesem Artikel erfahren Sie, wie Sie mithilfe von Automation eine Microsoft Outlook-Nachricht in Microsoft Access 2000 erstellen und senden.

Die Verwendung der hier aufgeführten Informationen, Makro- oder Programmcodes geschieht auf Ihre eigene Verantwortung. Microsoft stellt Ihnen diese Informationen sowie Makro- und Programmlistings ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionsfähigkeit sowie ohne Anspruch auf Support zur Verfügung. Die zur Verfügung gestellten Makro- und Programmierungsbeispiele sollen lediglich exemplarisch die Funktionsweise des Beispiels aufzeigen. Die Microsoft Support-Spezialisten können bei der Erläuterung der Funktionalität bestimmter Prozeduren helfen, jedoch werden sie diese Beispiele nicht in Bezug auf eine erweiterte Funktionalität verändern, noch werden sie Prozeduren entwickeln, die auf Ihre besonderen Bedürfnisse zugeschnitten sind.

Hinweis

Der folgende Code funktioniert möglicherweise nicht ordnungsgemäß, wenn Sie das Outlook E-Mail-Sicherheitsupdate installiert haben.

Sie können die SendObject -Methode verwenden, um eine MAPI-E-Mail-Nachricht programmgesteuert in Microsoft Access zu senden. Die SendObject -Methode bietet Ihnen jedoch keinen Zugriff auf vollständige E-Mail-Funktionen, z. B. die Möglichkeit, eine externe Datei anzufügen oder die Nachrichtenrelevanz festzulegen. Im folgenden Beispiel wird Automation verwendet, um eine E-Mail-Nachricht zu erstellen und zu senden, die Sie verwenden können, um viele Features in Microsoft Outlook zu nutzen, die mit der SendObject -Methode nicht verfügbar sind.

Es gibt sechs Standard Schritte zum Senden einer Microsoft Outlook-E-Mail-Nachricht mithilfe von Automation, wie folgt:

  1. Initialisieren Sie die Outlook-Sitzung.
  2. Erstellen Sie eine neue Nachricht.
  3. Fügen Sie die Empfänger (An, CC und BCC) hinzu, und lösen Sie deren Namen auf.
  4. Legen Sie gültige Eigenschaften fest, z. B. Betreff, Text und Wichtigkeit.
  5. Fügen Sie Anlagen hinzu (falls vorhanden).
  6. Anzeigen/Senden der Nachricht.

Programmgesteuertes Senden einer Microsoft Outlook-E-Mail-Nachricht

  1. Erstellen Sie eine Beispieltextdatei mit dem Namen Customers.txt im Ordner C:\Eigene Dokumente.

  2. Starten Sie Microsoft Access, und öffnen Sie die Beispieldatenbank Northwind.mdb.

  3. Erstellen Sie ein Modul, und geben Sie die folgende Zeile im Abschnitt Deklarationen ein, falls es noch nicht vorhanden ist:

    Option Explicit

  4. Wählen Sie im Menü Extrasdie Option Verweise aus.

  5. Wählen Sie im Feld Verweise die Microsoft Outlook 9.0-Objektbibliothek und dann OK aus.

    Hinweis

    Wenn die Microsoft Outlook 9.0-Objektbibliothek nicht im Feld Verfügbare Verweise angezeigt wird, durchsuchen Sie ihre Festplatte nach der Datei Msoutl9.olb. Wenn Sie diese Datei nicht finden können, müssen Sie das Microsoft Outlook-Setupprogramm ausführen, um sie zu installieren, bevor Sie mit diesem Beispiel fortfahren.

  6. Geben Sie das folgende Verfahren in das neue Modul ein:

    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. Um dieses Verfahren zu testen, geben Sie im Direktfenster die folgende Zeile ein, und drücken Sie dann die EINGABETASTE:

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

    Um die Nachricht ohne Angabe einer Anlage zu senden, lassen Sie das Argument beim Aufrufen der Prozedur wie folgt aus:

    SendMessage