Februar 12, 2022

Verwenden der Automatisierung zum Senden einer Microsoft Outlook-Nachricht mit Access 2000

Zusammenfassung

In diesem Artikel erfahren Sie, wie Sie mithilfe der Automatisierung eine Microsoft Outlook-Nachricht in Microsoft Access 2000 erstellen und senden.
Microsoft stellt Programmierbeispiele nur zur Veranschaulichung zur Verfügung, ohne ausdrückliche oder stillschweigende Gewährleistung. Dies beinhaltet, ist aber nicht beschränkt auf, die stillschweigende Gewährleistung der Marktgängigkeit oder Eignung für einen bestimmten Zweck. In diesem Artikel wird davon ausgegangen, dass Sie mit der Programmiersprache, die demonstriert wird, und mit den Tools, die zum Erstellen und Debuggen von Prozeduren verwendet werden, vertraut sind. Microsoft-Supporttechniker können Ihnen helfen, die Funktionalität einer bestimmten Prozedur zu erklären, aber sie werden diese Beispiele nicht ändern, um zusätzliche Funktionen bereitzustellen oder Prozeduren zu erstellen, die Ihren spezifischen Anforderungen entsprechen.
HINWEIS: Der folgende Code funktioniert möglicherweise nicht ordnungsgemäß, wenn Sie das Outlook-E-Mail-Sicherheitsupdate installiert haben. Weitere Informationen zu diesem Update finden Sie in einem der folgenden Artikel der Microsoft Knowledge Base, je nachdem, welche Version von Outlook Sie haben:

262631 OL2000: Informationen zum Outlook-E-Mail-Sicherheitsupdate

262617 OL98: Informationen zum Outlook-E-Mail-Sicherheitsupdate
Sie können die SendObject-Methode verwenden, um eine MAPI-E-Mail-Nachricht programmgesteuert in Microsoft Access zu senden. Mit der SendObject-Methode haben Sie jedoch keinen Zugriff auf vollständige E-Mail-Funktionen, z. B. die Möglichkeit, eine externe Datei anzuhängen oder die Wichtigkeit von Nachrichten festzulegen. Im folgenden Beispiel wird die Automatisierung zum Erstellen und Senden einer E-Mail-Nachricht verwendet, mit der Sie viele Funktionen in Microsoft Outlook nutzen können, die mit der SendObject-Methode nicht verfügbar sind.
Es gibt sechs Hauptschritte zum Senden einer Microsoft Outlook-E-Mail-Nachricht mithilfe der Automatisierung, wie folgt:

  1. Initialisieren Sie die Outlook-Sitzung.

  2. Erstellen Sie eine neue Nachricht.

  3. Fügen Sie die Empfänger hinzu (To, CC und BCC) und lösen Sie ihre Namen auf.

  4. Legen Sie gültige Eigenschaften wie Betreff, Text und Wichtigkeit fest.

  5. Anhänge hinzufügen (falls vorhanden).

  6. Anzeige/Senden der Nachricht.

Programmgesteuertes Senden einer Microsoft Outlook-E-Mail-Nachricht

  1. Erstellen Sie eine Beispieltextdatei mit dem Namen Customers.txt in der C:\My Ordner Dokumente.

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

  3. Erstellen Sie ein Modul und geben Sie die folgende Zeile in den Abschnitt Deklarationen ein, falls noch nicht vorhanden:

    Option Explicit

  4. Klicken Sie im Menü Extras auf Referenzen.

  5. Klicken Sie im Feld Referenzen auf, um die Microsoft Outlook 9.0-Objektbibliothek auszuwählen, und klicken Sie dann auf OK.
    HINWEIS: Wenn die Microsoft Outlook 9.0-Objektbibliothek nicht im Feld Verfügbare Referenzen 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-Setup-Programm 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 die folgende Zeile in das Sofortfenster ein, und drücken Sie dann die EINGABETASTE:

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

    Um die Nachricht ohne Angabe eines Anhangs zu senden, lassen Sie das Argument beim Aufruf der Prozedur wie folgt weg:

    SendMessage

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.