如何使用自動化使用 Access 2000 傳送 Microsoft Outlook 訊息

本文適用於 Microsoft Access 資料庫 (.mdb) 和 Microsoft Access 專案 (.adp) 。

摘要

本文說明如何使用自動化在 Microsoft Access 2000 中建立及傳送 Microsoft Outlook 訊息。

Microsoft 提供的程式設計範例僅供說明之用,並不具任何明示或暗示的責任擔保。 這包括 (但不限於) 任何目的之適售性及適用性的暗示責任擔保。 本文假設您熟悉示範的程式設計語言,也熟悉用以建立和偵錯程序的工具。 Microsoft 技術支援工程師可以協助說明特定程序的功能,但不會修改這些範例以提供附加功能或建構程序來滿足您的特定需求。

注意事項

如果您已安裝 Outlook 電子郵件安全性更新,下列程式代碼可能無法正常運作。

您可以使用 方法, SendObject 以程序設計方式在 Microsoft Access 中傳送 MAPI 郵件訊息。 不過, SendObject 方法不會讓您存取完整的郵件功能,例如能夠附加外部檔案或設定訊息重要性。 下列範例會使用自動化來建立和傳送郵件訊息,您可以使用該郵件訊息來利用 Microsoft Outlook 中許多方法無法使用的 SendObject 功能。

使用自動化傳送 Microsoft Outlook 郵件訊息有六個主要步驟,如下所示:

  1. 初始化 Outlook 會話。
  2. 建立新的訊息。
  3. 新增收件者 (收件者、CC 和 BCC) 並解析其名稱。
  4. 設定有效的屬性,例如 Subject、Body 和 Importance。
  5. 如果有任何) ,請新增附件 (。
  6. 顯示/傳送訊息。

以程序設計方式傳送 Microsoft Outlook 郵件訊息

  1. 在 C:\My Documents 資料夾中建立名為 Customers.txt 的範例文本檔。

  2. 啟動 Microsoft Access,然後開啟範例資料庫Northwind.mdb。

  3. 建立模組,並在 [宣告] 區段中輸入下列程式代碼行:如果該模組尚未存在,請在該區段中輸入下列程式代碼:

    Option Explicit

  4. 在 [ 工具] 功能表上,選取 [ 參考]

  5. 在 [ 參考] 方 塊中,選取 [Microsoft Outlook 9.0 物件庫],然後選取 [ 確定]

    注意事項

    如果 Microsoft Outlook 9.0 物件庫 未出現在 [ 可用的參考 ] 方塊中,請流覽您的硬碟以取得 Msoutl9.olb 檔案。 如果您找不到此檔案,您必須先執行 Microsoft Outlook 安裝程式來安裝它,才能繼續進行此範例。

  6. 在新的模組中輸入下列程式:

    Sub SendMessage(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("Andrew Fuller")
        objOutlookRecip.Type = olCC
    
        ' Set the Subject, Body, and Importance of the message.
        .Subject = "This is an Automation test with Microsoft Outlook"
        .Body = "Last test - I promise." & 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
        If Not objOutlookRecip.Resolve Then
        objOutlookMsg.Display
        End If
        Next
        .Send
    
        End With
        Set objOutlookMsg = Nothing
        Set objOutlook = Nothing
    End Sub
    
  7. 若要測試此程式,請在 [ 實時 運算] 視窗中輸入下列這一行,然後按 ENTER:

    SendMessage "C:\My Documents\Customers.txt"

    若要在不指定附件的情況下傳送訊息,請在呼叫程式時省略 自變數,如下所示:

    SendMessage