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 ausführen, der die SendObject-Methode in einer Bibliotheksdatenbank enthält, 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.
To Optional Variant A string expression that lists the recipients whose names you want to put on the To line in the mail message. Trennen Sie die Empfängernamen, die Sie in diesem Argument und in den Argumenten "Cc" und "Bcc" angeben, durch ein Semikolon (;)) oder durch das Listentrennzeichen, das auf der Registerkarte "Zahl" des Dialogfelds "Regionale Einstellungen Eigenschaften" im Windows Systemsteuerung festgelegt ist. If the recipient names aren't recognized by the mail application, the message isn't sent and an error occurs. If you leave this argument blank, Microsoft Access prompts you for the recipients.
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 Betreffzeile 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 Textkörper der E-Mail-Nachricht aufnehmen 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 geladener 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 angibt, die Sie als Vorlage für eine HTML-Datei verwenden möchten.

Bemerkungen

Verwenden Sie die SendenObjekt-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. You can include objects in Microsoft Excel 2000 (*.xls), MS-DOS text (*.txt), rich-text (*.rtf), or HTML (*.html) format in messages for Microsoft Outlook, Microsoft Exchange, or another electronic mail application that uses the Mail Applications Programming Interface (MAPI).

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 "Employees" in einer E-Mail-Nachricht im Format Microsoft Excel und gibt die Zeilen "An", "Cc" und "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.