2025年5月13日 星期二

Excel VBA 教學:透過 Outlook 大量批次寄送客製化郵件 (免輸密碼、支援簽名檔與附件)

今天我們要分享一個實用的 Excel 工具教學:如何利用 Excel 透過已安裝的 Outlook 軟體來批次寄送電子郵件。

先前我們可能介紹過直接用 Excel 寄信的方法,但那些方法通常需要在 VBA 程式碼中輸入郵件帳號密碼,這對於某些使用者來說可能會有安全上的疑慮。因此,這次介紹的方法是透過 Outlook 來寄信。因為郵件是經由您本機已設定好的 Outlook 送出,所以在 Excel 中就不需要再輸入任何帳號密碼,更加安全方便!

這個方法特別適合:

  • 需要寄送大量客製化通知信、EDM。

  • 不想在 Excel VBA 中儲存或輸入郵件密碼的使用者。

  • 希望可以預覽郵件內容再送出,或直接批次送出。

  • 需要附加不同檔案給不同收件者。

  • 希望使用 Outlook 中已設定好的簽名檔。

事前準備

  1. Microsoft Excel

  2. Microsoft Outlook:必須已安裝並設定好您的郵件帳戶,且 Outlook 程式在執行寄送時需要是開啟狀態。

工具下載

您可以從以下連結下載本教學使用的 Excel 範例檔案:

[圖片:下載頁面 f750.htm 截圖,標示下載按鈕位置]

操作步驟

  1. 開啟並設定 Excel 檔案

    • 下載 AutoSendMailOutlook.xls 後開啟。

    • 如果出現提示,請點選「啟用編輯」和「啟用內容」(啟用巨集)。

    • 請確保您的 Outlook 程式已經開啟。


  2. 了解工作表
    這個 Excel 檔案主要包含兩個重要的工作表:

    • 郵件設定 (Setup):設定寄件的相關參數。

    • 郵件清單 (MailList):填寫要寄送的郵件收件人、主旨、內容等資料。

  3. 設定「郵件設定」工作表
    在此工作表中,您可以設定以下選項:

    • B1 - 內文格式 (txt 或 html)

      • html (預設):郵件內容可以支援 HTML 語法,做出較豐富的排版,如變換顏色、粗體、換行等。

      • txt:純文字格式。

    • B2 - 每封間隔秒數 (單位:秒):設定每寄出一封郵件後的延遲秒數,例如輸入 2 代表每封信間隔 2 秒。適當的間隔有助於避免被郵件伺服器視為濫發郵件。

    • B3 - 是否要寄出 (Y/N)

      • N (否):郵件會產生並顯示在 Outlook 中(類似草稿或待寄郵件),讓您預覽確認無誤後再手動按下 Outlook 中的「傳送」按鈕。這是預設建議的選項,方便檢查。

      • Y (是):郵件會直接透過 Outlook 送出,不會有預覽步驟。

    • B4 - 簽名檔名稱:如果您想使用 Outlook 中已設定好的簽名檔,請在此輸入該簽名檔的完整名稱。若留空,則不使用簽名檔。

      • 您可以在 Outlook 中新增/編輯郵件時,查看「簽名」選項來確認您的簽名檔名稱。


  4. 準備「郵件清單」工作表
    在此工作表中,每一橫列代表一封郵件,請依序填入:

    • A欄 - 收件者:收件人的 Email 地址。

    • B欄 - 副本:副本 (CC) 收件人的 Email 地址 (可留空)。

    • C欄 - 密件副本:密件副本 (BCC) 收件人的 Email 地址 (可留空)。

    • D欄 - 主旨:郵件的主旨。

    • E欄 - 內容:郵件的內文。

    • F欄至J欄 - 附加檔案1 至 附加檔案5:如果您需要附加檔案,請在此填入檔案的完整路徑 (例如:C:\tmh\file01.txt)。最多支援 5 個附件。

    • K欄 - 寄件狀態:此欄位會由程式自動填寫寄送成功或失敗的訊息,不需手動輸入。


  5. 開始寄送 Email

    • 回到「郵件設定」工作表。

    • 點擊「開始寄Email」按鈕。

    • 程式會根據「郵件清單」的內容逐一產生郵件。


  6. 預覽或直接寄出

    • 若「是否要寄出」設為 

      • 每封郵件產生後會彈出 Outlook 的郵件編輯視窗。

      • 您可以檢查收件人、主旨、內容、附件、簽名檔是否正確。

      • 確認無誤後,手動按下 Outlook 郵件視窗中的「傳送」按鈕。

      • 程式會提示「寄送處理完成」。


    • 若「是否要寄出」設為 

      • 郵件會直接透過 Outlook 背景送出。

      • 完成後程式會提示「寄送處理完成」。

      • 您可以到 Outlook 的「寄件備份」資料夾檢查是否成功寄出。

進階功能示範

  1. 使用簽名檔

    • 在 Outlook 中確認您已設定好的簽名檔名稱 (例如:「張崴筌-整天的blog」或「蔡明和」)。

    • 在「郵件設定」工作表的 B4 儲存格輸入該簽名檔名稱。

    • 寄送時,郵件末端會自動帶入指定的簽名檔。



  2. 附加檔案

    • 在「郵件清單」工作表的 F 欄 (附加檔案1) 填入檔案的完整路徑,例如 C:\tmh\file01.txt

    • 寄送郵件時,該檔案就會被附加。


  3. 使用 HTML 格式化郵件內容

    • 確保「郵件設定」工作表的 B1 儲存格為 html

    • 在「郵件清單」的「內容」欄位,您可以使用 HTML 語法。例如:

      • 將文字變紅色粗體:<font color=red><b>這是紅色粗體字</b></font>

      • 換行:<br>

      • 範例內容:test<br><b><font color=red>20200303b</font></b>
        這會顯示 "test" 後換行,然後是紅色粗體的 "20200303b"。


注意事項

  • Outlook 安全性:雖然此方法不需在 Excel 輸入密碼,但 Outlook 本身可能有其安全性設定。若大量快速寄送,Outlook 或郵件伺服器仍可能觸發警告或暫時封鎖。建議設定合理的「每封間隔秒數」。

  • 測試寄送:初次使用或修改郵件內容/清單後,建議先用少量測試郵件 (例如寄給自己),並將「是否要寄出」設為 N 進行預覽,確認一切無誤後再進行大量批次寄送。

  • 檔案路徑:附加檔案的路徑必須是 Excel 程式可以存取到的完整絕對路徑

  • HTML 語法:若使用 HTML 格式,請確保語法正確,否則可能導致排版錯亂。

總結

透過這個 Excel VBA 工具,您可以輕鬆且安全地利用 Outlook 來批次寄送客製化的電子郵件,無論是工作上的通知、客戶聯繫或活動邀請,都能大幅提升效率。最重要的是,它解決了在程式碼中暴露密碼的疑慮,讓您用得更安心。

希望今天的教學對您有幫助!如果您有任何問題,歡迎留言討論。



沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。

【Google 表單教學】如何使用單選方格製作多項目訂購單?(含自動計算與Email通知)

您是否也曾遇過這樣的困擾?想用 Google 表單製作訂購單,但產品品項太多,特別是像點心、蛋糕這類商品,常常只是口味或尺寸上的些微差異。如果為每一個品項都建立一個問題,表單將會變得冗長不堪,讓消費者失去填寫的耐心。 今天,我們要分享一個實用的技巧,解決網友遇到的「點心蛋糕類」訂...