如何使用 Excel VBA 從 Outlook 發送批量電子郵件

您是否需要向您的 客戶顧客朋友或任何其他聯繫人發送個性化的群發電子郵件?您想通過單擊一下來完成此操作嗎?那是可能的!Microsoft Excel中有一個神奇的工具可以完成所有這些工作。它是 Visual Basic for Applications,又名 Excel VBA

繼續閱讀以了解如何使用 Excel VBAOutlook 發送批量電子郵件。還有更多!您可以按照下面教程中提到的最簡單的步驟進行練習。讓我們深入挖掘吧!

如何使用 Excel VBA 從 Outlook 發送批量電子郵件

發送批量電子郵件所需的準備

當前教程將為您提供從 Excel 自動發送批量電子郵件所需的 VBA 代碼。您所需要做的就是將數據收集到一個 Excel 文件中並執行一些快速格式化。

系統要求

您將運行的 VBA 程序需要使用 Microsoft Outlook 作為電子郵件發送應用程序。因此,您需要在計算機上安裝並配置 Outlook。請注意,基於網頁的 Outlook 程序將無法使用 VBA 代碼。

步驟指導

準備好 Excel 文件和 Outlook 應用程序後,請執行以下步驟:

  1. 將批量電子郵件工作表組織成 6 列。
  2. 在 A1 行中輸入標題:電子郵件至 (A);電子郵件抄送 (B);電子郵件主題 (C);電子郵件正文 (D)、附件 (E)、狀態 (F)。
  3. 在 A 列下添加所有“收件人地址”。如果需要,您可以添加數千封電子郵件。
  4. 在 B 列下輸入“CC 地址”。
  5. 個性化電子郵件主題:在 C 列為每個聯繫人添加自定義電子郵件主題。
  6. 編寫電子郵件正文:將內容複製並粘貼到 D 列下。
  7. 添加附件:將文件附件位置複製並粘貼到 E 列。
  8. 獲取附件位置:按 Shift 並選擇目標文件,然後右鍵單擊選擇 複製為路徑
  9. 將文件地址直接粘貼到 E 列的行中。
  10. F 列留空,因為 VBA 代碼將自動填充狀態。

如何使用 Excel VBA 從 Outlook 發送批量電子郵件

擴展設置

  1. 將 Excel 工作表另存為啟用宏的文件。
  2. Alt+F11 打開 VBA 代碼編輯器。
  3. 在上方菜單中,單擊工具,然後選擇引用
  4. 在列表中查找Microsoft Office 16.0 對象庫並選中該框。
  5. 單擊確定,將 Outlook 保存為 VBA 的對象。

如何使用 Excel VBA 從 Outlook 發送批量電子郵件

  1. 單擊插入,然後選擇模塊以打開代碼編輯器。
  2. 將以下代碼複製粘貼到 Module 中:
    Sub Send_Bulk_Mails()
        Dim sh As Worksheet
        Set sh = ThisWorkbook.Sheets("Worksheet_Name")
        Dim i As Integer
        Dim OA As Object
        Dim msg As Object
        Set OA = CreateObject("outlook.application")
        Dim last_row As Integer
        last_row = Application.CountA(sh.Range("A:A"))
        For i = 2 To last_row
            Set msg = OA.createitem(0)
            msg.To = sh.Range("A" & i).Value
            msg.CC = sh.Range("B" & i).Value
            msg.Subject = sh.Range("C" & i).Value
            msg.Body = sh.Range("D" & i).Value
            If sh.Range("E" & i).Value <> "" Then
                msg.Attachments.Add sh.Range("E" & i).Value
            End If
            msg.Send
            sh.Range("F" & i).Value = "Sent"
        Next i
        MsgBox "所有電子郵件已發送"
    End Sub
    
  1. 在代碼第 3 行(“ Worksheet_Name ”)中輸入當前工作表名稱。
  2. 單擊菜單中的保存以保存腳本。
  3. 您可以按F5運行宏,Excel 將自動通過 Outlook 發送電子郵件。

如何使用 Excel VBA 從 Outlook 發送批量電子郵件

訪問宏

  • 您還可以稍後從 Excel 功能區的“開發人員”選項卡訪問此宏。

結論

現在您已經了解如何使用 Excel VBAOutlook 發送批量電子郵件,您可以輕鬆發送批量電子郵件,而無需在手動發送電子郵件上浪費時間。

想要學習 Excel 的另一個 VBA 技巧嗎?通過本教程,了解如何使用 VBA 在 Excel 中自動進行拼寫檢查

37 Comments

  1. 小琪 -

    作為一個 Excel 的愛好者,我真的很高興看到這樣的內容,感謝分享

  2. 瑋瑋 -

    對於初學者來說,這篇文章非常友好,步驟也清晰易懂,我正打算實踐一下!

  3. 健文 -

    我真的很喜歡這篇文章,學會了之後我的工作效率提升了不少

  4. 咕咕 -

    非常實用的資訊!試過幾次發現批量發送時不小心發錯郵件會很尷尬,有沒有什麼預防的建議呢

  5. 家豪 -

    讀了這篇文章,發現 Excel VBA 有那麼多的潛力!我以前真的沒有想過可以用來發送電子郵件。

  6. 心宇 -

    我一直在找這種方法來簡化我的工作流程,太感謝了!不過有沒有更詳細的步驟呢

  7. Thùy Linh -

    這樣的方法讓我想到以前用 VBA 做的事,真的一定要好好學習

  8. 果果 -

    這篇文章讓我發現了 Excel VBA 的神奇之處,真是太酷了!我會持續關注你!

  9. 護米 -

    在看完這篇之後,我也開始設定自己的批量郵件。感覺自己好厲害

  10. 小玲 -

    這個方法太好用了,謝謝分享!不過有沒有可以用來排程發送的方式呢?

  11. Sky Zhang -

    期待你們將來能出更多的實用教程!這個真的幫助我很多

  12. Mèo Mập -

    這個教學真是太棒了,感覺我現在可以幫同事們省很多時間

  13. 忍者小白 -

    這個功能太像超能力了!我真的感到驚訝,能提高進度

  14. 宇辰 -

    剛剛試了下,完美!這個功能太實用了,適合忙碌的我。同事們都說我太棒了

  15. 雪莉 -

    感謝你的教學!這讓我省下了很多時間!謝謝你分享這個寶貴的經驗!

  16. 洪亨 -

    請問批量發送時,如果想添加附件,應該怎麼設置呢?謝謝

  17. Hương Đà Nẵng -

    這篇文章讓我重燃了學習 VBA 的熱情,簡直是我現在工作的必備工具

  18. 阿力 -

    實用的教學!現在有了這個技巧,我發郵件再也不用手動一封封發了

  19. 小獅子 -

    這裡的內容讓我這個菜鳥也能體會到 VBA 的魅力,感激不盡!

  20. 阿草 -

    實在是太棒了!這篇文章讓我眼前一亮,期待能夠活用在我的項目中!

  21. 季娜 -

    哈哈,這樣的技巧讓我想起剛學習 Excel VBA 時的趣事。真的很懷念

  22. Phúc IT -

    學會這個的確能節省很多時間,期待未來還能看到類似的相關文章

  23. 大寶 -

    剛剛開始學 VBA,希望自己能快點上手,這篇文章幫助很大!

  24. 小芳 -

    這真是一個實用的技巧,尤其對於需要發大量郵件的人來說,感謝分享!

  25. 花花 -

    我覺得這就是我需要的工具,挖掘了它的潛力,發送的速度快了許多

  26. Kenny Wu -

    關於這個話題有一個問題,如何設置郵件的格式?或許你能建議一下?

  27. 正熙 -

    太開心了!使用 VBA 發送郵件省時省力,真的要感謝你們的分享

  28. 潤德 -

    我有一個問題,使用 VBA 的時候,如何避免發送重複的郵件呢?真希望有人能解答

  29. 霏霏 -

    可以討論一下 VLOOKUP 和 VBA 的結合使用嗎?我覺得這樣挺有意思的

  30. 娜娜 -

    這篇文章真是太實用了,我會分享給朋友們讓他們也一起受益!

  31. 阿春 -

    這對我來說實在是太實用的技巧了,以後就省心許多

  32. 小明 -

    這篇文章真的很有價值,學會如何使用 Excel VBA 來批量發送電子郵件,讓我大大提高了工作效率!謝謝分享

  33. 志明 -

    你好,我用你講的方式試了下,發送的郵件順利到達,但還有一些地方不太明白,希望能再推廣一些詳情!

  34. 秋水 -

    這篇文章讓我瞬間理解了 VBA 的概念,原來發郵件也能這麼簡單

  35. Mèo con -

    我也想學習如何使用這個功能,剛好我們團隊有很多郵件要發送,期待作者能再提供更多案例

  36. 健健 -

    如果能有更詳細的視頻教學會更棒!我是一個視覺學習者,感覺會比較好懂

  37. 戈戈 -

    這篇文章讓我找到了一個解決方案,真是太開心了!

Leave a Comment

Excel 2010:位址函數

Excel 2010:位址函數

Excel 2010 包含兩種參考類型,即絕對引用和相對引用,這些引用類型在處理公式時非常重要

Excel 2010:PROPER 函數

Excel 2010:PROPER 函數

有時,在電子表格中填寫儲存格時,我們會匆忙填寫,最終導致儲存格中的單字大小寫不規則。為了

在 Word 2010 中變更預設字體設定和樣式

在 Word 2010 中變更預設字體設定和樣式

Word 2010 預設字體是 Calibri,它在使用者中仍然不太流行,但 Word 2010 足夠靈活,可以讓使用者更改預設字體

Outlook 2010:在閱讀窗格中檢視時將項目標記為已讀

Outlook 2010:在閱讀窗格中檢視時將項目標記為已讀

您可能已經注意到,大多數情況下,在閱讀窗格中查看電子郵件時,Outlook 2010 將電子郵件狀態保留為未讀,而這正是

如何在 Word 2010 插入彩色陰影區域

如何在 Word 2010 插入彩色陰影區域

在 Word 2010 中,您可以套用彩色陰影區域來強調片語、單字或句子的重要性。它提供了所有基本的實心

如何在Word 2010文件中快速插入頁面封面

如何在Word 2010文件中快速插入頁面封面

Word 2010 中功能豐富的頁面封面功能,讓您立即從內建頁面封面庫中新增華麗或專業的封面。例如

如何在 Word 2010 中為文字新增上標和下標

如何在 Word 2010 中為文字新增上標和下標

在最新的 Word 版本(Word 2007 和 Word 2010)中,您可以在功能區上找到上標和下標選項。因此,如果您正在創建

Word 2010 建置基塊管理器

Word 2010 建置基塊管理器

如果您即將開始在 Word 中處理龐大的文檔,這可能需要幾天才能完成,那麼 Building Blocks Organizer 將能夠縮短

Excel 2010:將數字值轉換為時間

Excel 2010:將數字值轉換為時間

有很多方法可以將時間輸入到儲存格中,但 Excel 有一個內建函數,可方便使用者將值轉換為時間格式,

清除 Office 2010/2007 追蹤歷史記錄

清除 Office 2010/2007 追蹤歷史記錄

您想保護您的 Word、Excel 或 PowerPoint 歷史記錄嗎?您是否擔心某些駭客會透過追蹤歷史記錄竊取您的文件?