Access) (DoCmd.SendObject 方法
SendObject方法執行 Visual Basic 中的 SendObject 巨集指令。
語法
運算式。SendObject (ObjectType、 ObjectName、 OutputFormat、 To、 Cc、 Bcc、 Subject、 MessageText、 EditMessage、 TemplateFile)
expression 代表 DoCmd 物件的變數。
參數
名稱 | 必要/選用 | 資料類型 | 描述 |
---|---|---|---|
ObjectType | Optional | AcSendObjectType | AcSendObjectType常數,指定要傳送的物件類型。 |
ObjectName | Optional | Variant | 是有效的類型 ObjectType 引數所選取的物件名稱的字串運算式。 如果您想要在電子郵件訊息中包含作用中的物件、 ObjectType引數指定物件的類型並將此引數保留空白。 如果您將 ObjectType和 ObjectName引數保留空白 (預設常數 acSendNoObject ,假設 ObjectType引數),Microsoft Access 會將郵件傳送至不包含在內的 database 物件的電子郵件應用程式。 如果您在程式庫資料庫中執行包含 SendObject 方法的 Visual Basic 程式碼,Access 會先在程式庫資料庫中尋找具有此名稱的物件,然後在目前的資料庫中尋找物件。 |
OutputFormat | 選用 | Variant | 常數,指定要在其中傳送物件的格式。 可能的值包括 acFormatHTML、 acFormatRTF、 acFormatSNP、 acFormatTXT、 acFormatXLS、 acFormatXLSB、 acFormatXLSX、 acFormatXPS和 acFormatPDF。 |
字串運算式,列出您要將其名稱放在郵件訊息中 [收件者] 行的收件者。若要區隔您在此引數以及 cc 與 bcc 引數中所指定的收件者名稱,請使用分號 (;),或是在 Windows [控制台] 的 [地區設定內容] 對話方塊中, [數字] 索引標籤下所指定的清單分隔符號。如果郵件應用程式無法識別收件者名稱,則不會傳送訊息而且會發生錯誤。如果您讓此引數保持空白,Microsoft Access 便會提示您輸入收件者。 | 選用 | 若要區隔您在此引數以及 cc 與 bcc 引數中所指定的收件者名稱,請使用分號 (;),或是在 Windows [控制台] 的 [地區設定內容] 對話方塊中, [數字] 索引標籤下所指定的清單分隔符號。 | 字串運算式,列出您要將其名稱放在郵件訊息中 [收件者] 行的收件者。 使用分號 (;) 分隔您在此引數和副本和密件抄送引數中指定的收件者名稱,或在 Windows 主控台中 [地區設定屬性] 對話方塊的 [編號] 索引標籤上設定清單分隔符號。 如果郵件應用程式無法識別收件者名稱,則不會傳送訊息而且會發生錯誤。 如果您讓此引數保持空白,Microsoft Access 便會提示您輸入收件者。 |
列出的收件者您想要放在電子郵件訊息 [副本]行名稱的字串運算式。如果此引數保留空白,是空白的電子郵件訊息中的 [ 副本]行。 | 選用 | 如果此引數保留空白,是空白的電子郵件訊息中的 [ 副本] 行。 | 字串運算式,列出您要在郵件訊息的 [副本 ] 行上放置其名稱的收件者。 如果將此引數保留空白,郵件的 [副本] 行亦將空白。 |
列出的收件者您想要放在電子郵件訊息 [密件副本]行名稱的字串運算式。如果此引數保留空白,郵件訊息 [密件副本]行是空白的。 | 選用 | 如果此引數保留空白,郵件訊息 [密件副本] 行是空白的。 | 字串運算式,列出您要在郵件訊息的 密件抄 送行上放置其名稱的收件者。 如果將此引數保留空白,郵件的 [密件副本] 行亦將空白。 |
您要放在郵件 主旨行包含文字字串運算式。如果此引數保留空白,是空白的 主旨行中的郵件。 | 選用 | Variant | 字串運算式,包含您要放在郵件訊息中 主旨 行的文字。 如果將此引數保留空白,郵件的 [主旨] 行亦將空白。 |
MessageText | 字串運算式,包含您要放在郵件訊息本文中位於物件後面的文字。 | Variant | 字串運算式,包含您想要包含在郵件訊息本文中的文字,位於 物件之後。 如果您讓此引數保持空白,郵件訊息本文中便只包含物件。 |
EditMessage | 使用則為 True (- 1) 開啟的電子郵件應用程式立即訊息載入,因此可以編輯郵件。 | Variant | 使用 True (1) 立即開啟電子郵件應用程式並載入訊息,以便編輯訊息。 如果使用 False (0),則不編輯訊息而直接傳送。 如果您讓此引數保持空白,則假設為預設值 (True)。 |
TemplateFile | Optional | Variant | 字串運算式,其為您要作為 HTML 檔案範本之檔案的完整名稱,包括路徑。 |
註解
使用 SendObject 巨集指令可在電子郵件訊息中包含指定的 Microsoft Access 資料工作表、表單、報表或模組,以供檢視和轉寄。 您可以在 Microsoft Outlook、Microsoft Exchange 或其他使用 Mail Applications Programming Interface (MAPI) 的電子郵件應用程式的郵件中,包含 Microsoft Excel 2000 (*.xls)、MS-DOS 文字 (*.txt)、RTF (*.rtf) 或 HTML (*.html) 格式的物件。
當您使用 SendObject 巨集指令在郵件中包含資料庫物件時,適用下列規則:
您可以傳送資料表、查詢和表單資料工作表。 在包含的物件中,除了包含 OLE 物件的欄位之外,資料工作表中的所有欄位看起來都如同在 Access 中一樣。 這些欄位的資料行會包含在 物件中,但欄位是空白的。
對於系結至 [ 是/否 ] 欄位 (切換按鈕、選項按鈕或核取方塊) 的控制項,輸出檔案會顯示值 1 ([是]) 或 0 ([否) ]。
略過所有其他控制項。
頁首及頁尾資訊也是不包含在內。
如果您傳送報表,物件中唯一包含的控制項是 (.xls檔案) 的文字方塊,或 (.rtf、.txt 和 .html 檔案) 的文字方塊和標籤。 所有其他控制項都會被忽略。 也未包含頁首和頁尾資訊。 唯一的例外是當您以 Excel 格式傳送報表時,物件中會包含包含 Sum 函式之運算式的群組頁尾文字方塊。 頁首或頁尾中沒有其他控制項 (,而且物件中未包含 Sum) 以外的任何彙總函式。
物件中會包含子報表。 輸出到 .asp 時,則會包含子表單,不過只有在輸出為表單 (而非資料工作表) 時才會如此。
[!注意事項] 只有在您安裝增益集之後,才可以從 2007 Microsoft Office system 程式另存為 PDF 或 XPS 檔案。 如需詳細資訊,請在 Office 網站上搜尋「啟用其他檔案格式的支援,如 PDF 和 XPS」。
模組只能以 MS-DOS 文字格式傳送,因此如果您為ObjectType引數指定acSendModule,則必須為OutputFormat引數指定acFormatTXT。
注意事項
只有在安裝增益集之後,才可以透過 2007 Microsoft Office 系統程式儲存為 PDF 或 XPS 檔案。 如需詳細資訊,請參閱 2007 Microsoft Office 增益集:Microsoft 另存 PDF 檔或 XPS 檔。
範例
下列程式碼範例會在 Microsoft Excel 格式的郵件訊息中包含 Employees 資料表,並在郵件訊息中指定 [收件者]、[ 副本] 和 [ 主旨 ] 行。 沒有編輯立即,傳送電子郵件訊息。
DoCmd.SendObject acSendTable, "Employees", acFormatXLS, _
"Nancy Davolio; Andrew Fuller", "Joan Weber", , _
"Current Spreadsheet of Employees", , False
下列範例會示範如何使用 Microsoft Outlook 中建立電子郵件訊息及顯示給使用者。
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
下列範例會示範如何使用 Microsoft Outlook 中建立電子郵件並將它傳送而不顯示電子郵件訊息給使用者。
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
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。