您目前已離線,請等候您的網際網路重新連線

使用自動化傳送 Microsoft Outlook 郵件

本文曾發行於 CHT161088
依現狀不再更新的知識庫內容免責聲明
本文旨在說明 Microsoft 不再提供支援的產品。因此,本文係依「現狀」提供,不會再更新。
結論
進階:需要專家程度的程式撰寫能力、交互操作性和多使用者技巧。

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

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

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

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

  • 啟始 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 的以下文件:
160502ACC:Using Automation to Add Appointments to Microsoft Outlook

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


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

OutSol OutSol97 OutSol98
內容

文章識別碼:161088 - 最後檢閱時間:10/12/2006 03:07:42 - 修訂: 2.2

  • Microsoft Access 97 Standard Edition
  • kbdta kbhowto kbinterop kbole KB161088
意見反應