如何使用 Access 2000 使用「自動化」傳送 Microsoft Outlook 郵件

本文適用于 Microsoft Access 資料庫 ( .mdb) 和 Microsoft Access project ( .adp) 。

摘要

本文說明如何在 microsoft Access 2000 中使用「自動化」來建立及傳送 microsoft Outlook 郵件。

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

注意

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

您可以使用 SendObject 方法,以程式設計方式在 Microsoft Access 中傳送 MAPI 郵件訊息。 不過,此 SendObject 方法不會提供您完整郵件功能的存取權,例如附加外部檔案或設定郵件重要性的功能。 下列範例會使用「自動化」來建立及傳送郵件訊息,您可以使用此郵件,利用此 SendObject 方法所沒有的 Microsoft Outlook 中的許多功能。

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

  1. 初始化 Outlook 會話。
  2. 建立新郵件。
  3. 將收件者 ([、抄送] 和 [密件副本]) 中,並解析其名稱。
  4. 設定有效的屬性,例如主旨、內文和重要性。
  5. 若有任何) ,請新增附件 (。
  6. 顯示/傳送郵件。

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

  1. 在 [C:\My 檔] 資料夾中,建立名為 Customers.txt 的範例文字檔。

  2. 啟動 Microsoft Access,然後開啟羅斯文的範例資料庫。

  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