使用自動化傳送 Microsoft Outlook 郵件

文章翻譯 文章翻譯
文章編號: 161088 - 檢視此文章適用的產品。
本文曾發行於 CHT161088
全部展開 | 全部摺疊

結論

進階:需要專家程度的程式撰寫能力、交互操作性和多使用者技巧。

本文將告訴您如何在 Microsoft Access 97 中使用自動化建立和傳送 Microsoft Outlook 郵件。

本文假定您熟悉 Visual Basic for Applications,並熟悉使用由 Microsoft Access 提供的程式撰寫工具建立 Microsoft Access 應用程式。如需有關 Visual Basic for Applications 的詳細資訊,請參閱《使用 Microsoft Access 97 建立應用程式》手冊。

如需關於使用自動化傳送 Microsoft Exchange 郵件的詳細資訊,請參閱 Microsoft Knowledge Base 的以下文件:
153311 Using Automation to Send a Microsoft Exchange Message

其他相關資訊

注意: 若您安裝 Outlook 電子郵件安全性更新時,以下 程式碼可能無法正常運作。 如需關於此更新的詳細資訊,請依據您 擁有的 Outlook 版本,參閱 Microsoft 知識庫中的下列文件: SendObject 方法提供在 Microsoft Access 中以程式撰寫方式傳送 MAPI 郵件。然而,SendObject 方法並沒有授與您存取完整的郵件 功能,例如附加外部檔案或設定郵件重要性等功能。以下範例 是使用自動化來建立和傳送郵件,您可用來利用 Microsoft Outlook 中許多功能,這些是 SendObject 方法無法做到的。

當您使用自動化來傳送 Microsoft Outlook 郵件時,有六個主要步驟:

  • 啟始 Outlook 工作階段
  • 建立新郵件
  • 新增收件者 (收件者、副本和密件副本) 並解析其名稱
  • 設定有效屬性,例如主旨、本文和重要性
  • 新增附件 (若有的話)
  • 顯示/傳送郵件
如果要以程式設計方式傳送 Microsoft Outlook 郵件,請遵循下列步驟:

  1. 在C:\My Documents 資料夾中建立名為 Customers.txt 的範例文字檔。
  2. 啟動 Microsoft Access 再開啟範例資料庫 Northwind.mdb。
  3. 建立模組,在 [宣告] 區段鍵入以下內容 (如果此內容尚未存在的話):
    Option Explicit
  4. 在 [工具] 功能表上,按一下 [參照]。
  5. 在 [參照] 方塊中,按一下 [Microsoft Outlook 8.0 Object Model] 再按一下 [確定]。

    注意:若 [Microsoft Outlook 8.0 Object Model] 沒有出現在 [可用的參照] 方塊中,瀏覽您的硬碟尋找 Msoutl8.olb 檔案。若您找不到此檔案,您必須在繼續進行此範例前執行 Microsoft Outlook 安裝程式進行安裝。
  6. 在新模組中鍵入下列程序:
          Sub SendMessage(DisplayMsg As Boolean, 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("Michael Suyama")
                  objOutlookRecip.Type = olCC
    
                 ' Add the BCC recipient(s) to the message.
                  Set objOutlookRecip = .Recipients.Add("Andrew Fuller")
                  objOutlookRecip.Type = olBCC
    
                 ' Set the Subject, Body, and Importance of the message.
                 .Subject = "This is an Automation test with Microsoft Outlook"
                 .Body = "This is the body of the message." &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
                 Next
    
                 ' Should we display the message before sending?
                 If DisplayMsg Then
                     .Display
                 Else
                     .Save
                     .Send
                 End If
              End With
              Set objOutlook = Nothing
          End Sub
  7. 如果要測試此程序,在 [偵錯] 視窗中鍵入下列內容,再按 ENTER。
    SendMessage True, "C:\My Documents\Customers.txt"
    注意,包含附件的新郵件在 Microsoft Outlook 中顯示。

    如果要不在 Microsoft Outlook 顯示郵件而直接傳送,為第一個引數呼叫包含 False 值的程序:
    SendMessage False, "C:\My Documents\Customers.txt"
    如果要不指定附件而傳送郵件,當呼叫程序時,省略第二個引數。
    SendMessage True

?考

如需使用 Microsoft Access 中自動化的詳細資訊,請搜尋 [說明] 索引中的自動化,或詢問 Microsoft Access 97 Office 小幫手。

如需使用自動化來控制 Microsoft Outlook 的詳細資訊, 請參閱 Microsoft Knowledge Base 的以下文件:
160502 ACC:Using Automation to Add Appointments to Microsoft Outlook

161012 VBA:How to Create a New Contact Item in Outlook with Automation


本文件是根據 Microsoft Knowledge Base 文件編號 Q161088 翻譯的。若要參考原始英文文件內容,請至以下網址:

http://support.microsoft.com/support/kb/articles/Q161/0/88.asp

屬性

文章編號: 161088 - 上次校閱: 2006年10月12日 - 版次: 2.2
這篇文章中的資訊適用於:
  • Microsoft Access 97 Standard Edition
關鍵字:?
kbdta kbhowto kbinterop kbole KB161088
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。
依現狀不再更新的知識庫內容免責聲明
本文旨在說明 Microsoft 不再提供支援的產品。因此,本文係依「現狀」提供,不會再更新。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com