【VBA 自動化教學04】一鍵寄送 Excel 或 PDF 檔案|自動化郵件傳送報表

更新 發佈閱讀 6 分鐘

在日常工作中,將報表或表單寄送給主管、客戶或團隊成員是常見流程。若每次都需手動開啟 Outlook、附加檔案、輸入收件人與主旨,不僅耗時,也容易出錯。透過 VBA,我們可以建立一個「一鍵寄送」功能,自動將指定的 Excel 或 PDF 檔案透過 Outlook 寄出,大幅提升效率與準確性。

功能概述

這段 VBA 程式碼可實現以下功能:

  • 自動建立 Outlook 郵件物件
  • 附加指定路徑的 Excel 或 PDF 檔案
  • 自動填入收件人、主旨與內文
  • 開啟郵件草稿供使用者確認後寄出(或直接寄出)

VBA 程式碼範例

Sub SendFileByEmail()
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim FilePath As String
Dim Recipient As String
Dim SubjectLine As String
Dim BodyText As String

' 設定要寄送的檔案路徑(可為 Excel 或 PDF
FilePath = ThisWorkbook.Path & "\報表.pdf" ' ← 可改為 .xlsx

' 設定收件人、主旨與內文
Recipient = "recipient@example.com"
SubjectLine = "本週報表已完成,請查收"
BodyText = "您好,附件為本週報表,請查閱。如有問題請回覆。"

' 建立 Outlook 郵件物件
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)

With OutlookMail
.To = Recipient
.Subject = SubjectLine
.Body = BodyText
.Attachments.Add FilePath
.Display ' ← 若改為 .Send 則直接寄出
End With

MsgBox "郵件已建立,請確認後寄出", vbInformation
End Sub

程式碼詳細解說(初學者導向)

這段程式碼的目的是將指定檔案(Excel 或 PDF)透過 Outlook 建立郵件並附加寄送。以下是逐段說明:

首先,我們宣告了幾個變數(需自行設定,或是擴充功能來優化,目前以基礎版來教學):

  • OutlookApp 是 Outlook 應用程式物件。
  • OutlookMail 是郵件物件。
  • FilePath 是要附加的檔案完整路徑。
  • Recipient 是收件人 Email。
  • SubjectLine 是郵件主旨。
  • BodyText 是郵件內文。

接著設定 FilePath,這裡以目前工作簿所在資料夾的「報表.pdf」為例。你也可以改為 .xlsx 或其他檔案。

然後設定收件人、主旨與內文。這些內容可依實際需求修改,也可改為由使用者輸入。

使用 CreateObject("Outlook.Application") 建立 Outlook 應用程式物件,並使用 CreateItem(0) 建立一封新郵件。

With OutlookMail 區塊中:

  • .To 指定收件人。
  • .Subject 指定主旨。
  • .Body 指定內文。
  • .Attachments.Add FilePath 附加檔案。
  • .Display 表示開啟郵件草稿供使用者確認。若改為 .Send 則會直接寄出。
  • 最後使用 MsgBox 提示使用者郵件已建立。

操作步驟與使用方式

  • 將程式碼貼入 Excel 的模組中(例如 Module1)
  • 確保 Outlook 已安裝且開啟
  • 執行 SendFileByEmail 程式
  • 程式會自動建立郵件草稿並附加檔案,使用者可確認後寄出

應用場景與延伸建議

  • 每週報表自動寄送給主管
  • 客戶資料表單自動寄出
  • 教學作業或成績單批次寄送

延伸功能建議:

  • 加入多位收件人(使用 .CC 或 .BCC)
  • 自動根據檔案名稱判斷寄送對象
  • 搭配 PDF 匯出功能,先匯出再寄送
  • 加入錯誤處理(檔案不存在、Outlook 未開啟等)

常見問題 FAQ

Q1:是否可以直接寄出而不顯示草稿?

可以將 .Display 改為 .Send,但建議先測試確認內容無誤。

Q2:是否可以寄送多個附件?

可以使用多次 .Attachments.Add 加入多個檔案。

Q3:是否支援 Gmail 或其他郵件系統?

此程式碼僅支援 Outlook,若需使用 Gmail,需透過 CDO 或 API 寫法,較為進階。

結語與延伸閱讀

這段 VBA 程式碼提供了高效率的「一鍵寄送 Excel 或 PDF 檔案」功能,適合用於報表傳送、文件審核與教學應用。後續你可以加入自動命名、批次寄送、收件人清單等模組,打造完整的郵件自動化工具。

下一篇將介紹如何「一鍵清理 Excel 空白列與欄位」,敬請期待【VBA 自動化教學】第 5 篇!

留言
avatar-img
蝦仁藥師_臨床輕鬆學的沙龍
66會員
340內容數
哈囉~!這裡主要在分享醫療知識,還有記錄下學習程式語言的各種筆記,偶爾穿插一些個人的淺見與有趣分享,希望大家都可以在這邊得到有用的資訊~!
2025/10/15
在日常報表製作、資料審核或文件提交流程中,將 Excel 工作表匯出為 PDF 是常見需求。透過 VBA,我們可以建立一個「一鍵匯出」功能,自動將指定工作表或整份工作簿轉存為 PDF,節省手動操作時間,並確保格式一致。
Thumbnail
2025/10/15
在日常報表製作、資料審核或文件提交流程中,將 Excel 工作表匯出為 PDF 是常見需求。透過 VBA,我們可以建立一個「一鍵匯出」功能,自動將指定工作表或整份工作簿轉存為 PDF,節省手動操作時間,並確保格式一致。
Thumbnail
2025/10/15
在 Excel 中處理公式輸出、資料轉換或建立可解析字串時,常需要將數值、布林值或錯誤值轉換為文字。VALUETOTEXT 函數能將任何值轉為文字格式,並提供「精簡模式」與「嚴格模式」兩種輸出方式,適合用於資料剖析、公式記錄、動態文字輸出與跨平台資料處理。
Thumbnail
2025/10/15
在 Excel 中處理公式輸出、資料轉換或建立可解析字串時,常需要將數值、布林值或錯誤值轉換為文字。VALUETOTEXT 函數能將任何值轉為文字格式,並提供「精簡模式」與「嚴格模式」兩種輸出方式,適合用於資料剖析、公式記錄、動態文字輸出與跨平台資料處理。
Thumbnail
2025/10/15
在 Excel 中處理匯入資料或跨語系格式時,常會遇到文字型數字無法正確轉換的問題。NUMBERVALUE 函數能依指定的分隔符與地區格式,將代表數值的文字字串轉換為真正的數值格式,特別適合處理歐洲格式(如使用逗號作小數點)或混合符號的資料。它是資料清理、欄位標準化與報表計算前的精準轉換工具。
Thumbnail
2025/10/15
在 Excel 中處理匯入資料或跨語系格式時,常會遇到文字型數字無法正確轉換的問題。NUMBERVALUE 函數能依指定的分隔符與地區格式,將代表數值的文字字串轉換為真正的數值格式,特別適合處理歐洲格式(如使用逗號作小數點)或混合符號的資料。它是資料清理、欄位標準化與報表計算前的精準轉換工具。
Thumbnail
看更多
你可能也想看
Thumbnail
創作不只是個人戰,在 vocus ,也可以是一場集體冒險、組隊升級。最具代表性的創作者社群「vocus 野格團」,現在有了更強大的新夥伴加入!除了大家熟悉的「官方主題沙龍」,這次我們徵召了 8 位領域各異的「個人主題專家」,將再度嘗試創作的各種可能,和格友們激發出更多未知的火花。
Thumbnail
創作不只是個人戰,在 vocus ,也可以是一場集體冒險、組隊升級。最具代表性的創作者社群「vocus 野格團」,現在有了更強大的新夥伴加入!除了大家熟悉的「官方主題沙龍」,這次我們徵召了 8 位領域各異的「個人主題專家」,將再度嘗試創作的各種可能,和格友們激發出更多未知的火花。
Thumbnail
vocus 最具指標性的創作者社群──「野格團」, 2026 年春季,這支充滿專業、熱情的團隊再次擴編,迎來了 8 位實力堅強的「個人主題專家」新成員 💫💫💫 從投資理財、自我成長、閱讀書評到電影戲劇,他們各自帶著獨特的「創作超能力」準備在格友大廳與大家見面。
Thumbnail
vocus 最具指標性的創作者社群──「野格團」, 2026 年春季,這支充滿專業、熱情的團隊再次擴編,迎來了 8 位實力堅強的「個人主題專家」新成員 💫💫💫 從投資理財、自我成長、閱讀書評到電影戲劇,他們各自帶著獨特的「創作超能力」準備在格友大廳與大家見面。
Thumbnail
在這篇教學中,我們將介紹如何使用 Excel VBA 來發送訊息到 LINE Notify。LINE Notify 是 LINE 提供的服務,可以透過 API 發送訊息到 LINE 上。這篇教學將帶你步驟一步完成設置。
Thumbnail
在這篇教學中,我們將介紹如何使用 Excel VBA 來發送訊息到 LINE Notify。LINE Notify 是 LINE 提供的服務,可以透過 API 發送訊息到 LINE 上。這篇教學將帶你步驟一步完成設置。
Thumbnail
本法省去開啟EXCEL檔,轉存為CSV檔之手動作業,縮短作業時間,提高工作效率,尤其是對象為複數個檔案場合
Thumbnail
本法省去開啟EXCEL檔,轉存為CSV檔之手動作業,縮短作業時間,提高工作效率,尤其是對象為複數個檔案場合
Thumbnail
Visual Basic for Applications(VBA)是一種功能強大的程式語言,廣泛用於自動化 Microsoft Office 應用程式中的重複性任務。在這篇教學文章中,我們將介紹如何使用 VBA 來新增、刪除和移動檔案。
Thumbnail
Visual Basic for Applications(VBA)是一種功能強大的程式語言,廣泛用於自動化 Microsoft Office 應用程式中的重複性任務。在這篇教學文章中,我們將介紹如何使用 VBA 來新增、刪除和移動檔案。
Thumbnail
在Excel中實作使用者介面(UI)是一個有趣且實用的技能,能夠幫助你更好地呈現資料、提供功能並增強使用者體驗。本文將逐步介紹如何在Excel中建立基本的UI元素,例如按鈕、下拉式選單和文字框,並擴展功能,例如資料驗證和動態更新。
Thumbnail
在Excel中實作使用者介面(UI)是一個有趣且實用的技能,能夠幫助你更好地呈現資料、提供功能並增強使用者體驗。本文將逐步介紹如何在Excel中建立基本的UI元素,例如按鈕、下拉式選單和文字框,並擴展功能,例如資料驗證和動態更新。
Thumbnail
這篇文章介紹瞭如何寫出專業的電子郵件開頭句,分享了六種必備的實用模板,讓你可以根據不同情境或目的,填入關鍵詞套用,讓你的email看起來超專業!
Thumbnail
這篇文章介紹瞭如何寫出專業的電子郵件開頭句,分享了六種必備的實用模板,讓你可以根據不同情境或目的,填入關鍵詞套用,讓你的email看起來超專業!
Thumbnail
在現代職場中,電子郵件是不可或缺的溝通工具。無論是與同事、客戶、還是合作夥伴交流,電子郵件都是最常用的方式之一。然而,並非所有人都能寫出有效且專業的電子郵件。一封好的電子郵件,可以讓你在職場中脫穎而出,並帶來以下好處:提高工作效率:清晰簡潔的電子郵件,可以讓收件人快速掌握重點,並做出回應。
Thumbnail
在現代職場中,電子郵件是不可或缺的溝通工具。無論是與同事、客戶、還是合作夥伴交流,電子郵件都是最常用的方式之一。然而,並非所有人都能寫出有效且專業的電子郵件。一封好的電子郵件,可以讓你在職場中脫穎而出,並帶來以下好處:提高工作效率:清晰簡潔的電子郵件,可以讓收件人快速掌握重點,並做出回應。
Thumbnail
在日常生活和工作中,我們經常需要發送電子郵件來進行溝通和分享資訊。本文將介紹如何使用Python的pywin32模組連接到Outlook,並通過程式來自動發送郵件。
Thumbnail
在日常生活和工作中,我們經常需要發送電子郵件來進行溝通和分享資訊。本文將介紹如何使用Python的pywin32模組連接到Outlook,並通過程式來自動發送郵件。
Thumbnail
 程式開發,功能 :               本程式執行後,自動寄出email,寄出的內容可依照讀取的參數檔內容而決定
Thumbnail
 程式開發,功能 :               本程式執行後,自動寄出email,寄出的內容可依照讀取的參數檔內容而決定
Thumbnail
在C#程式開發中,有時候我們需要透過Outlook來發送郵件。這篇教學將會教你如何使用Microsoft.Office.Interop.Outlook來完成這個任務。
Thumbnail
在C#程式開發中,有時候我們需要透過Outlook來發送郵件。這篇教學將會教你如何使用Microsoft.Office.Interop.Outlook來完成這個任務。
Thumbnail
在職場上,我們經常需要使用Excel來處理資料,而條碼則是一種常見的資料識別方式,可以用來標示產品、貨物、文件等。如果可以快速製作出條碼,就可以節省不少時間,讓工作更有效率。本篇文章將教你如何在Excel中快速製作條碼,只要3個步驟,就可以輕鬆完成。
Thumbnail
在職場上,我們經常需要使用Excel來處理資料,而條碼則是一種常見的資料識別方式,可以用來標示產品、貨物、文件等。如果可以快速製作出條碼,就可以節省不少時間,讓工作更有效率。本篇文章將教你如何在Excel中快速製作條碼,只要3個步驟,就可以輕鬆完成。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News