DoCmd.SendObject-Methode (Access)

Mit der SendObject-Methode wird die SendObject-Aktion in Visual Basic ausgeführt.

Syntax

Ausdruck.SendObject (ObjectType, ObjectName, OutputFormat, To, Cc, Bcc, Subject, MessageText, EditMessage, TemplateFile)

expression Eine Variable, die ein DoCmd-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
ObjectType Optional AcSendObjectType Eine AcSendObjectType Konstante, die den Typ des zu sendenden Objekts angibt.
ObjectName Optional Variant Ein Zeichenfolgenausdruck, der der gültige Name eines Objekts vom Typ ist, der durch das Argument ObjectType ausgewählt wurde. Wenn Sie das aktive Objekt in eine E-Mail-Nachricht einschließen möchten, müssen Sie den Typ des Objekts mithilfe des Arguments ObjectType angeben; für dieses Argument geben Sie dann keinen Wert an. Wenn Sie für das Argument ObjectType als auch für das Argument ObjectName keinen Wert angeben, wird von Microsoft Access eine Nachricht an die E-Mail-Anwendung gesendet, ohne ein Datenbankobjekt in die Nachricht einzuschließen (in diesem Fall wird für das Argument ObjectType die acSendNoObject -Standardkonstante verwendet).

Wenn Sie Visual Basic-Code, der die SendObject -Methode enthält, in einer Bibliotheksdatenbank ausführen, sucht Access zuerst in der Bibliotheksdatenbank und dann in der aktuellen Datenbank nach dem Objekt mit diesem Namen.
OutputFormat Optional Variant Eine Konstante, die das Format angibt, in dem das Objekt gesendet werden soll. Mögliche Werte sind acFormatHTML, acFormatRTF, acFormatSNP, acFormatTXT, acFormatXLS, acFormatXLSB, acFormatXLSX, acFormatXPS und acFormatPDF.
An Optional Variant Ein Zeichenfolgenausdruck, der die Empfänger*innen auflistet, deren Namen Sie in der Zeile "An" in der E-Mail-Nachricht einfügen möchten. Trennen Sie die Namen der Empfänger, die Sie in diesem Argument und in den Argumenten Cc und Bcc angeben, durch ein Semikolon (;) oder mit dem Listentrennzeichen, das auf der RegisterkarteZahldes Dialogfelds Eigenschaften für regionale Einstellungen in der Windows-Systemsteuerung festgelegt ist. Wenn die Namen der Empfänger*innen von der E-Mail-Anwendung nicht erkannt werden, wird die Nachricht nicht gesendet, und es tritt ein Fehler auf. Wenn Sie dieses Argument leer lassen, fordert Microsoft Access Sie zur Eingabe der Empfänger*innen auf.
Cc Optional Variant Ein Zeichenfolgenausdruck, der die Empfänger auflistet, deren Namen in die Cc-Zeile der E-Mail-Nachricht aufgenommen werden sollen. Wenn Sie für dieses Argument keinen Wert angeben, ist die Cc-Zeile der E-Mail-Nachricht leer.
Bcc Optional Variant Ein Zeichenfolgenausdruck, der die Empfänger auflistet, deren Namen in die Bcc-Zeile der E-Mail-Nachricht aufgenommen werden sollen. Wenn Sie für dieses Argument keinen Wert angeben, ist die Bcc-Zeile der E-Mail-Nachricht leer.
Subject Optional Variant Ein Zeichenfolgenausdruck, der den Text enthält, den Sie in der Zeile Betreff der E-Mail-Nachricht einfügen möchten. Wenn Sie für dieses Argument keinen Wert angeben, ist die Zeile Betreff der E-Mail-Nachricht leer.
MessageText Optional Variant Ein Zeichenfolgenausdruck, der den Text enthält, den Sie nach dem Objekt in den Text der E-Mail-Nachricht einfügen möchten. Wenn Sie für dieses Argument keinen Wert angeben, wird nur das Objekt, jedoch kein Text in die E-Mail-Nachricht eingeschlossen.
EditMessage Optional Variant Verwenden Sie True (1), um die E-Mail-Anwendung sofort mit der geladenen Nachricht zu öffnen, damit die Nachricht bearbeitet werden kann. Verwenden Sie False (0), um die Nachricht ohne vorherige Bearbeitung zu senden. Wenn Sie für dieses Argument keinen Wert angeben, wird der Standardwert (True) verwendet.
TemplateFile Optional Variant Ein Zeichenfolgenausdruck, der den vollständigen Namen einschließlich des Pfads der Datei enthält, die Sie als Vorlage für eine HTML-Datei verwenden möchten.

HinwBemerkungeneise

Verwenden Sie die SendObject-Aktion, um das angegebene Microsoft Access-Datenblatt, -Formular, -Bericht oder -Modul in eine E-Mail-Nachricht einzuschließen, in der sie angezeigt und weitergeleitet werden kann. Sie können Objekte im Microsoft Excel 2000- (*.xls), MS-DOS-Text- (*.txt), Rich-Text- (*.rtf) oder HTML-Format (*.html) in Nachrichten von Microsoft Outlook, Microsoft Exchange oder einer anderen E-Mail-Anwendung einschließen, die von der MAPI (Mail Applications Programming Interface) verwendet wird.

Die folgenden Regeln gelten, wenn Sie die SendObject-Aktion verwenden, um ein Datenbankobjekt in eine E-Mail-Nachricht einzuschließen:

  • Sie können Tabellen-, Abfrage- und Formulardatenblätter senden. Im verwendeten Objekt sehen alle Felder im Datenblatt so aus wie in Access, mit Ausnahme der Felder, die OLE-Objekte enthalten. Die Spalten für diese Felder sind im Objekt eingeschlossen, die Felder sind jedoch leer.

  • Für ein Steuerelement, das an ein Ja/Nein-feld (Umschaltfläche, Optionsfeld oder Kontrollkästchen) gebunden ist, zeigt die Ausgabedatei den Wert 1 (Ja) oder 0 (Nein) an.

  • Für ein Textfeld, das an das Feld Hyperlink gebunden ist, wird in der Ausgabedatei der Hyperlink für alle Ausgabeformate mit Ausnahme von MS-DOS-Text angezeigt (in diesem Fall wird der Hyperlink nur als normaler Text angezeigt).

  • Wenn Sie ein Formular in der Formularansicht senden, enthält das eingeschlossene Objekt immer die Datenblattansicht des Objekts.

  • Wenn Sie einen Bericht senden, sind die einzigen Steuerelemente, die im Objekt eingeschlossen sind, Textfelder (für XLS-Dateien) oder Textfelder und Beschriftungen (für RTF-, TXT- und HTML-Dateien). Alle anderen Steuerelemente werden ignoriert. Auch Kopf- und Fußzeileninformationen werden ausgeschlossen. Die einzige Ausnahme besteht darin, dass beim Senden eines Berichts im Excel-Format ein Textfeld in einem Gruppenfuß, das einen Ausdruck mit der Summe -Funktion enthält, in das Objekt eingeschlossen wird. Keine anderen Steuerelemente in einer Kopf- oder Fußzeile (und keine andere Aggregatfunktion als Summe) werden in das Objekt eingeschlossen.

  • Unterberichte sind im Objekt eingeschlossen. Unterformulare sind eingeschlossen, wenn eine Ausgabe in ASP erfolgt, aber nur bei Ausgabe als Formular (nicht als Datenblatt).

  • Wenn Sie ein Datenblatt, ein Formular oder eine Datenzugriffsseite im HTML-Format senden, wird eine HTML-Datei erstellt. Wenn Sie einen Bericht im HTML-Format senden, wird für jede Seite im Bericht eine HTML-Datei erstellt.

Module können nur im MS-DOS-Textformat ausgegeben werden. Wenn Sie also für das Argument ObjectType den Wert acSendModule angeben, müssen Sie für das Argument OutputFormat den Wert acFormatTXT angeben.

Hinweis

Erst nach der Installation eines Add-Ins können Sie aus einem 2007 Microsoft Office-Systemprogramm heraus Dateien im PDF- oder XPS-Format speichern. Weitere Informationen finden Sie unter Add-In für 2007 Microsoft Office: "Speichern unter – PDF oder XPS" von Microsoft.

Beispiel

Das folgende Codebeispiel enthält die Tabelle Mitarbeiter in einer E-Mail-Nachricht im Microsoft Excel-Format und gibt die Zeilen An, Ccund Betreff in der E-Mail-Nachricht an. Die Nachricht wird sofort ohne vorherige Bearbeitung gesendet.

DoCmd.SendObject acSendTable, "Employees", acFormatXLS, _ 
    "Nancy Davolio; Andrew Fuller", "Joan Weber", , _ 
    "Current Spreadsheet of Employees", , False

Im folgenden Beispiel wird gezeigt, wie eine E-Mail mit Microsoft Outlook erstellt und dem Benutzer angezeigt wird.

Public Function CreateEmailWithOutlook( _
    MessageTo As String, _
    Subject As String, _
    MessageBody As String)

    ' Define app variable and get Outlook using the "New" keyword
    Dim olApp As New Outlook.Application
    Dim olEmail As Outlook.MailItem  ' An Outlook Mail item
 
    ' Create a new email object
    Set olEmail = olApp.CreateItem(olMailItem)

    ' Add the To/Subject/Body to the message and display the message
    With olEmail
        .To = MessageTo
        .Subject = Subject
        .Body = MessageBody
        .Display    ' To show the email message to the user
    End With

End Function

Im folgenden Beispiel wird gezeigt, wie eine E-Mail mit Microsoft Outlook erstellt und gesendet wird, ohne dass die E-Mail dem Benutzer angezeigt wird.

Public Function SendEmailWithOutlook( _
    MessageTo As String, _
    Subject As String, _
    MessageBody As String)

    ' Define app variable and get Outlook using the "New" keyword
    Dim olApp As New Outlook.Application
    Dim olEmail As Outlook.MailItem  ' An Outlook Mail item
 
    ' Create a new email object
    Set olEmail = olApp.CreateItem(olMailItem)

    ' Add the To/Subject/Body to the message and display the message
    With olEmail
        .To = MessageTo
        .Subject = Subject
        .Body = MessageBody
        .Send       ' Send the message immediately
    End With

End Function

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.