使用 VBA 發送電子郵件:11 個簡單步驟即可學習

在當前的商業環境中,Visual Basic for Applications(VBA)是一種難以匹敵的工具,能夠讓用戶自動化 Microsoft Excel 中的日常任務。透過此程式語言,您可以整合 Microsoft Office 的其他應用程式,例如 OutlookPowerPointWord,以提高工作效率。

本教程將為您提供使用 VBA 從 Excel 發送電子郵件的分步指導,幫助您輕鬆管理電子郵件任務。

使用 VBA 發送電子郵件的流程

1. 啟用 Microsoft Outlook 對象庫

要使用 Excel VBA 發送電子郵件,首先需要設置 Outlook 的對象引用。請按照以下步驟操作:

  • 通過單擊“文件” > “另存為”,選擇位置並將現有 Excel 文件另存為啟用宏的文件。
  • Alt+F11 打開 VBA 代碼編輯器,在菜單中選擇 “工具”
VBA 代碼編輯器
  • 選擇 引用,然後在可用引用列表中找到 Microsoft Outlook 16.0 Object Library
  • 選擇該對象並單擊 “確定” 退出可用引用列表。

2. 編寫並執行 VBA 代碼

現在您已啟用 Outlook 對象,請遵循以下步驟編寫 VBA 宏並執行:

  • 在 VBA 代碼編輯器界面中,查找 “插入”選項卡
  • 單擊 “插入”,然後選擇 “模塊” 以插入可編寫 VBA 代碼的空間。
  • 將以下 VBA 腳本複製並粘貼到新創建的模塊中:
Sub send_email_with_VBA()
    Dim EmailApp As Outlook.Application
    Dim Source As String
    Set EmailApp = New Outlook.Application
    Dim EmailItem As Outlook.MailItem
    Set EmailItem = EmailApp.CreateItem(olMailItem)
    
    EmailItem.To = "opsmanager@addictivetips.com"
    EmailItem.CC = "customercare@addictivetips.com"
    EmailItem.BCC = "databackup@addictivetips.com"
    EmailItem.Subject = "客戶訂單發貨狀態"
    EmailItem.HTMLBody = "嗨,團隊" & vbNewLine & vbNewLine & "PFA 今天訂單的電子表格status" & vbNewLine & vbNewLine & "問候" & vbNewLine & "Tamal Das"
    
    Source = ThisWorkbook.FullName
    EmailItem.Attachments.Add Source
    EmailItem.Send
End Sub

上述代碼將使用您的 Outlook 帳戶向提到的電子郵件地址發送郵件。電子郵件內容可以在 EmailItem.HTMLBody 中進行更改,Excel VBA 會自動將您的工作簿附加為電子郵件附件。

定制您的電子郵件

要個性化地址和電子郵件正文,您可以做以下修改:

  1. 將代碼中的所有電子郵件地址替換為您的 Outlook 聯繫人
  2. 根據需要自定義 EmailItem.Subject 的文本。
  3. EmailItem.HTMLBody 中,更改引號內的內容。
  4. F5 鍵運行 VBA 腳本。
執行 VBA 腳本

要成功使用 VBA 發送電子郵件,您需要在 Microsoft Office 套件中的獨立 Outlook 應用程序中 配置 Gmail 帳戶 或 Outlook 帳戶。基於瀏覽器的 Outlook 無法使用此 VBA 代碼。

3. 結論

通過上述步驟,您應該能夠在 Excel 中輕鬆實現電子郵件的自動發送。比如說,您可以在協作者更新工作表時自動接收電子郵件,或在 Excel 中更新訂單狀態列時通知客戶。

如果您希望利用 VBA 實現更多 Excel 自動化功能,請探索 VBA 時間戳 的應用,以記錄電子表格的更改日誌。

34 Comments

  1. 阿慶 -

    我之前有使用過 VBA,但對於發送郵件這部分還不是很懂,這篇文章真是太幫助我了!

  2. 志明 -

    這篇文章真是給了我靈感,我也想寫一個程式來自動發送郵件,覺得很有挑戰性!

  3. 小琪 -

    我想知道發送郵件的速度快不快?有沒有什麼影響因素呢

  4. 海棠 -

    感謝這篇文章,真的讓我對 VBA 有了全新的理解,對於發送郵件的步驟講解得非常清楚!

  5. 小風 -

    我之前用 VBA 發發資訊給客戶,但一直不順手,希望這次能學得更好

  6. 阿偉 -

    有沒有推薦的資源可以深入學習 VBA 呢?我想要更專業一點的知識

  7. 子君 -

    從這篇文章學到很多,尤其是錯誤處理的部分,這對我來說非常重要

  8. 小白 -

    這篇文章寫得真不錯!剛好我最近也想學習使用 VBA 發送電子郵件,感謝提供的11個步驟,非常詳細

  9. 金妮 -

    使用 VBA 發送郵件的過程一定要小心使用 SMTP 的設置,不然會出現錯誤

  10. 天下無敵 -

    哈哈,這樣的學習方式真的讓我感到興奮!希望快點能動手做

  11. 小偉 -

    我有一個問題,發送郵件的過程中如果出現錯誤,應該如何處理呢

  12. 小花 -

    使用 VBA 自動發送電子郵件的功能真的很實用,我已經試著將這個方法應用到我的工作中了

  13. 王小華 -

    這篇中包含的11個步驟是否能適用於不同版本的 Excel?我現在用的是 Excel 2016

  14. 莉莉 -

    這篇文章讓我想起我曾經嘗試用 VBA 做一個自動化報告,卻沒有成功!現在我想再試一次

  15. 阿龍 -

    這篇文章很實用,我學會了如何使用 VBA 發送郵件,真的省去了很多麻煩

  16. 雅婷 -

    謝謝你的分享!我一直在尋找這方面的資料,這下終於找到適合的學習資源了

  17. 小莉 -

    我在實作的時候遇到了一些問題,誰能幫我一下嗎?謝謝大伙

  18. 小妍 -

    對於初學者來說,這篇文章是否有配合的影片教學呢?我會比較容易理解。

  19. 小艾 -

    感謝分享!我會把這些步驟記下來,準備開始實踐了,每天都想學習新技能!

  20. 小霞 -

    看到這篇文章,我心裡超開心的,簡直是意外驚喜

  21. 慶慶 -

    我最近越來越喜歡 VBA 發送郵件,省掉了很多手動的麻煩,真棒

  22. 子嫻 -

    學習了這個知識點,未來在工作中一定會派上用場,謝謝作者的努力!

  23. 林樺 -

    很好奇作者是如何發現這些方法的?是否有什麼特別的學習經歷?

  24. 米莉 -

    學會這個真的是一大收穫!未來我也可以自動化發送報告,省時省力

  25. 小貓咪 -

    哈哈,學了這個功能讓我工作時忍不住想發一些好玩的郵件給同事!

  26. 小明 -

    我想請教,這11個步驟裡面,有哪個步驟是最容易出錯的呢?謝謝

  27. 小麥 -

    感謝分享,生活中學會用 VBA 發送郵件,真的讓我多了很多時間去做別的事

  28. 小真 -

    這篇文章的步驟真的是簡單易懂,對我這個平常不碰程式的人來說,真的超級友好!

  29. 文潔 -

    學會了這個技巧,感覺生活都變得更簡單了!謝謝這篇文章

  30. 小俊 -

    我覺得這篇文章指導得很好,我會分享給我的朋友們,讓他們也學習使用 VBA!

  31. 小草 -

    我第一次嘗試用 VBA 寫郵件程式,感覺好有成就感!希望能有更多範例可以學習

  32. 文婷 -

    學會用 VBA 發送電子郵件太棒了!我常常需要發送報告,這簡化了我的工作流程

  33. 小羽 -

    分享一下我的經驗,我最近用 VBA 發送郵件成功了,也幫同事完成了相同的功能,大家都很滿意

  34. 小如 -

    想問一下,使用 VBA 發送郵件的最佳實踐有哪些,大家有沒有建議?

Leave a Comment

如何刪除 Word 中的分節符:簡單的步驟

如何刪除 Word 中的分節符:簡單的步驟

您的 Word 文檔中有分節符嗎?以下是使用 Microsoft VBA 模塊手動刪除所有內容的指南,教您如何刪除分節符。

使用 VBA 發送電子郵件:11 個簡單步驟即可學習

使用 VBA 發送電子郵件:11 個簡單步驟即可學習

您想從 Excel 發送電子郵件而不切換到其他應用程序嗎?繼續閱讀以了解使用 VBA 發送電子郵件的 11 個簡單步驟。

如何在 Excel 中添加刪除線:您需要了解的一切

如何在 Excel 中添加刪除線:您需要了解的一切

如果您想了解如何在 Excel 中對文本和數字添加刪除線,這裡有一個簡單易懂的指南,介紹如何在任何單元格上執行此操作。

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

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

了解如何使用 Excel VBA 從 Outlook 發送批量電子郵件,從而節省時間。在工作或家裡,無需支付任何工具即可發送批量電子郵件!

如何使用 Office 365 在線轉錄音頻

如何使用 Office 365 在線轉錄音頻

轉錄音頻是一項乏味的任務,但通過使用 Microsoft Office 365,您可以簡化這一過程,得到準確的轉錄結果。

如何在 Outlook 中撤回電子郵件(取消發送和替換)

如何在 Outlook 中撤回電子郵件(取消發送和替換)

Outlook 有一個獨特的功能,可以讓您回憶電子郵件。繼續閱讀以了解如何在 Outlook 上取消發送和替換電子郵件!

如何在 Word 中按字母順序排列:5 個簡單步驟

如何在 Word 中按字母順序排列:5 個簡單步驟

學習如何在 Word 中按字母順序對列表中的項目進行分類,這是您在文檔中進行有效排序的指南。

如何在 Word 中創建首字母縮略詞索引 – Office 365

如何在 Word 中創建首字母縮略詞索引 – Office 365

Word 允許您創建目錄、圖表和索引。本文將指導您如何輕鬆創建首字母縮略詞索引,增加文檔的可讀性。

如何復制 Word 文檔:3 種簡單的嘗試方法

如何復制 Word 文檔:3 種簡單的嘗試方法

如果您需要復制 Word 文檔,請按照以下步驟創建一份副本並將其保存在驅動器上的任何位置。

Excel TEXT 函數是什麼以及如何使用它?

Excel TEXT 函數是什麼以及如何使用它?

您可能聽說過 Excel TEXT 函數,但對其了解不多。閱讀以了解什麼是 Excel TEXT 函數以及如何使用它。