SendObject メソッド (Access)DoCmd.SendObject method (Access)

SendObject メソッドは、Visual Basic で "SendObject/オブジェクトの送信" アクションを実行します。The SendObject method carries out the SendObject action in Visual Basic.

構文Syntax

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

expression: DoCmd オブジェクトを表す変数。expression A variable that represents a DoCmd object.

パラメーターParameters

名前Name 必須 / オプションRequired/Optional データ型Data type 説明Description
ObjectTypeObjectType 省略可能Optional AcSendObjectTypeAcSendObjectType 送信するオブジェクトの種類を指定するAcSendObjectType定数を指定します。An AcSendObjectType constant that specifies the type of object to send.
ObjectNameObjectName 省略可能Optional VariantVariant 引数 ObjectType で指定した種類のオブジェクトの有効な名前を文字列式で指定します。A string expression that's the valid name of an object of the type selected by the ObjectType argument. メール メッセージにアクティブ オブジェクトを含める場合は、オブジェクトの種類を引数 ObjectType で指定し、この引数を空白のままにしておきます。If you want to include the active object in the mail message, specify the object's type with the ObjectType argument and leave this argument blank. 引数 ObjectTypeObjectName を両方とも指定しないと、引数 ObjectTypeacSendNoObject (既定値) が使われ、データベース オブジェクトを含まずにメッセージが Microsoft Access によって電子メール アプリケーションに送られます。If you leave both the ObjectType and ObjectName arguments blank (the default constant, acSendNoObject, is assumed for the ObjectType argument), Microsoft Access sends a message to the electronic mail application without an included database object.

SendObjectメソッドを含む Visual Basic コードをライブラリデータベースで実行すると、この名前のオブジェクトが、最初にライブラリデータベースで検索され、次にカレントデータベースで検索されます。If you run Visual Basic code containing the SendObject method in a library database, Access looks for the object with this name first in the library database, and then in the current database.
OutputFormatOutputFormat 省略可能Optional VariantVariant オブジェクトを送信するときの形式を指定する定数を指定します。A constant that specifies the format in which to send the object. 使用可能な値には、 acFormatHTMLacformatrtfacformatrtfは acformattxtacformatrtfacformatrtfacformatrtfacformatrtfacformatrtfがあります。Possible values include acFormatHTML, acFormatRTF, acFormatSNP, acFormatTXT, acFormatXLS, acFormatXLSB, acFormatXLSX, acFormatXPS, and acFormatPDF.
ToTo 省略可能Optional VariantVariant メール メッセージの To 行に表示する受信者の一覧を文字列式で指定します。A string expression that lists the recipients whose names you want to put on the To line in the mail message. この引数で指定した受信者名と_Cc_および_Bcc_引数にセミコロン (;)、または Windows の [地域のプロパティ] ダイアログボックスの [数値] タブで設定された区切り記号を使用します。コントロールパネル。Separate the recipient names that you specify in this argument and in the Cc and Bcc arguments with a semicolon (;), or with the list separator set on the Number tab of the Regional Settings Properties dialog box in the Windows Control Panel. 受信者の名前がメール アプリケーションによって認識されないと、メッセージは送信されずエラーが発生します。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.
CcCc 省略可能Optional VariantVariant メール メッセージの Cc 行に表示する受信者の一覧を文字列式で指定します。A string expression that lists the recipients whose names you want to put on the Cc line in the mail message. この引数を指定しないと、メール メッセージの Cc 行は空白です。If you leave this argument blank, the Cc line in the mail message is blank.
BccBcc 省略可能Optional VariantVariant メール メッセージの Bcc 行に表示する受信者の一覧を文字列式で指定します。A string expression that lists the recipients whose names you want to put on the Bcc line in the mail message. この引数を指定しないと、メール メッセージの Bcc 行は空白です。If you leave this argument blank, the Bcc line in the mail message is blank.
SubjectSubject 省略可能Optional VariantVariant メールメッセージの件名行に入力するテキストを含む文字列式を指定します。A string expression containing the text that you want to put on the Subject line in the mail message. この引数を指定しないと、メール メッセージの 件名行は空白です。If you leave this argument blank, the Subject line in the mail message is blank.
MessageTextMessageText 省略可能Optional VariantVariant メールメッセージの本文のオブジェクトの後に含めるテキストを含む文字列式を指定します。A string expression containing the text that you want to include in the body of the mail message, after the object. この引数を指定しないと、メール メッセージの本文に含まれるのはオブジェクトのみになります。If you leave this argument blank, the object is all that's included in the body of the mail message.
EditMessageEditMessage 省略可能Optional VariantVariant メッセージを読み込んですぐに電子メールアプリケーションを開き、メッセージを編集できるようにするには、 True (1) を使用します。Use True (1) to open the electronic mail application immediately with the message loaded, so the message can be edited. メッセージを編集せずに送信するには、False (0) を使います。Use False (0) to send the message without editing it. この引数を指定しないと、True (既定値) が使われます。If you leave this argument blank, the default (True) is assumed.
TemplateFileTemplateFile 省略可能Optional VariantVariant HTML ファイルのテンプレートとして使用するファイルのパスを含む完全な名前を文字列式で指定します。A string expression that's the full name, including the path, of the file that you want to use as a template for an HTML file.

注釈Remarks

"SendObject/オブジェクトの送信" アクションを使用すると、Microsoft Access の指定されたデータシート、フォーム、レポート、モジュールを電子メール メッセージに添付して、表示または転送できます。You can use the SendObject action to include the specified Microsoft Access datasheet, form, report, or module in an electronic mail message, where it can be viewed and forwarded. Microsoft Excel 2000 形式 (*.xls)、MS-DOS のテキスト形式 (*.txt)、リッチ テキスト形式 (*.rtf)、HTML 形式 (*.html) のオブジェクトを、Microsoft Outlook、Microsoft Exchange、MAPI 標準インターフェイスに準拠するその他のメール アプリケーションに添付することができます。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).

"SendObject/オブジェクトの送信" アクションを使ってメール メッセージにデータベース オブジェクトを添付する場合は、次の規則が適用されます。The following rules apply when you use the SendObject action to include a database object in a mail message:

  • テーブル、クエリ、およびフォームの各データシートを送信できます。You can send table, query, and form datasheets. 添付されるオブジェクトには、OLE オブジェクトを含むフィールドを除くデータシートのすべてのフィールドが出力されます。In the included object, all fields in the datasheet look as they do in Access, except fields containing OLE objects. OLE オブジェクトを含むフィールドの列もオブジェクトに出力されますが、フィールド値は空白になります。The columns for these fields are included in the object, but the fields are blank.

  • Yes/No型フィールド (トグルボタン、オプションボタン、チェックボックス) に連結されたコントロールの場合、出力ファイルには 1 (yes) または 0 (No) の値が表示されます。For a control bound to a Yes/No field (a toggle button, option button, or check box), the output file displays the value 1 (Yes) or 0 (No).

  • ハイパーリンク型 (Hyperlink) フィールドに連結されたテキスト ボックスの場合、出力ファイルには MS-DOS テキストを除くすべての出力形式のハイパーリンクが出力されます (MS-DOS テキストの場合、ハイパーリンクは、通常のテキストとして出力されます)。For a text box bound to a Hyperlink field, the output file displays the hyperlink for all output formats except MS-DOS text (in this case, the hyperlink is just displayed as normal text).

  • フォーム ビューのフォームを送信する場合、添付されるオブジェクトには常にフォームのデータシート ビューが含まれます。If you send a form in Form view, the included object always contains the form's Datasheet view.

  • レポートのデータを出力する場合、オブジェクトには、テキスト ボックス (.xls 形式の出力ファイルの場合)、またはテキスト ボックスとラベル (.rtf, .txt, .html 形式の出力ファイルの場合) の各コントロールのみが含まれます。If you send a report, the only controls that are included in the object are text boxes (for .xls files), or text boxes and labels (for .rtf, .txt, and .html files). その他のコントロールはすべて無視されます。All other controls are ignored. Header and footer information is also not included.Header and footer information is also not included. The only exception to this is that when you send a report in Excel format, a text box in a group footer containing an expression with the Sum function is included in the object.The only exception to this is that when you send a report in Excel format, a text box in a group footer containing an expression with the Sum function is included in the object. No other control in a header or footer (and no aggregate function other than Sum) is included in the object.No other control in a header or footer (and no aggregate function other than Sum) is included in the object.

  • サブレポートはオブジェクトに取り込まれます。Subreports are included in the object. サブフォームは Active Server Pages (*.asp) 形式で出力するときに取り込まれますが、その場合はデータシートではなくフォームとして出力することが前提となります。Subforms are included when outputting to .asp, but only when outputting as a form (not a datasheet).

  • HTML 形式のデータシート、フォーム、またはデータ アクセス ページを送信する場合は, .html ファイルが 1 つ作成されます。When you send a datasheet, form, or data access page in HTML format, one .html file is created. HTML 形式のレポートを送信する場合は, .html ファイルがレポートのページごとに 1 つずつ作成されます。When you send a report in HTML format, one .html file is created for each page in the report.

モジュールは MS-DOS のテキスト形式でのみ送信できるので、引数 ObjectTypeacSendModule を指定すると、引数 OutputFormat には acFormatTXT を指定する必要があります。Modules can be sent only in MS-DOS Text format, so if you specify acSendModule for the ObjectType argument, you must specify acFormatTXT for the OutputFormat argument.

注意

アドインをインストールした後にのみ、2007 Microsoft Office システム プログラムから PDF または XPS ファイル形式で保存することができます。You can save as a PDF or XPS file from a 2007 Microsoft Office system program only after you install an add-in. 詳細については、「2007 Microsoft Office プログラム用アドイン: Microsoft PDF/XPS 保存アドイン」を参照してください。For more information, see 2007 Microsoft Office Add-in: Microsoft Save as PDF or XPS.

Example

次のコード例では、メールメッセージの [ Employees ] テーブルを Microsoft Excel 形式で含み、メールメッセージの [宛先]、[ Cc]、および [件名] 行を指定します。The following code example includes the Employees table in a mail message in Microsoft Excel format and specifies To, Cc, and Subject lines in the mail message. このメール メッセージは編集されずに、すぐに送信されます。The mail message is sent immediately, without editing.

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

以下の例は、Microsoft Outlook で電子メール メッセージを作成して、ユーザーに表示する方法を示します。The following example shows how to create an email message with Microsoft Outlook and display it to the user.

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 olMailItem As Outlook.MailItem  ' An Outlook Mail item
 
    ' Create a new email object
    Set olMailItem = olApp.CreateItem(olMailItem)

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

    ' Release all object variables
    Set olMailItem = Nothing
    Set olApp = Nothing

End Function

以下の例は、Microsoft Outlook で電子メール メッセージを作成して、ユーザーに電子メール メッセージを表示せずに送信する方法を示します。The following example shows how to create an email message with Microsoft Outlook and send it without displaying the email message to the user.

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 olMailItem As Outlook.MailItem  ' An Outlook Mail item
 
    ' Create a new email object
    Set olMailItem = olApp.CreateItem(olMailItem)

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

    ' Release all object variables
    Set olMailItem = Nothing
    Set olApp = Nothing

End Function

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.