如何將工作表儲存為 PDF 檔案,並透過 Outlook 以附件方式寄送?
在日常工作中,您可能經常需要與同事或客戶分享特定工作表,同時確保文件格式固定且安全。透過 Outlook 將工作表以 PDF 檔案形式寄送,是常見且實用的需求,特別適用於提交正式報告、寄送發票,或分享不應被輕易修改的最終資料。傳統做法需手動將工作表另存為 PDF、開啟 Outlook、撰寫郵件、附加檔案後再寄出——此流程不僅繁瑣,更耗費時間,尤其在重複執行或處理多個工作表時尤為明顯。
本文將逐步引導您自動化將工作表轉換為 PDF,並直接從 Excel 附加至 Outlook 郵件,大幅節省時間、告別繁瑣的手動操作。您將獲得完整的 VBA 程式碼解決方案,以及清晰的操作說明、優勢解析、應用場景與實用技巧。
使用 VBA 程式碼將工作表儲存為 Pdf 文件並以附件形式寄送
使用 VBA 程式碼將工作表儲存為 Pdf 文件並以附件形式寄送
若想加速將 Excel 工作表匯出為 PDF 檔案並透過 Outlook 寄送的流程,可使用以下 VBA 程式碼。當您需要定期從 Excel 直接寄送個人化報告、發票或其他資料快照時,此方法格外實用,因為它能全面自動化儲存與寄送步驟。
套用此方法前,請確認已安裝 Microsoft Outlook 並設為預設郵件用戶端。當您的 Excel 環境已啟用巨集時,此程式碼將發揮最佳效果。
1. 開啟您要儲存並以 PDF 形式寄送的工作表,同時按下 Alt+F11,即可啟動 Microsoft Visual Basic for Applications(VBA)編輯器。
2. 在 VBA 視窗中,點選功能表中的插入> 模組,即可建立新的程式碼模組。接著,將下列 VBA 程式碼複製並貼上至模組的程式碼視窗中。
VBA 程式碼:將工作表儲存為 Pdf 文件並以附件形式寄送
Sub Saveaspdfandsend()
Dim xSht As Worksheet
Dim xFileDlg As FileDialog
Dim xFolder As String
Dim xYesorNo As Integer
Dim xOutlookObj As Object
Dim xEmailObj As Object
Dim xUsedRng As Range
Set xSht = ActiveSheet
Set xFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
If xFileDlg.Show = True Then
xFolder = xFileDlg.SelectedItems(1)
Else
MsgBox "You must specify a folder to save the PDF into." & vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Must Specify Destination Folder"
Exit Sub
End If
xFolder = xFolder + "\" + xSht.Name + ".pdf"
'Check if file already exist
If Len(Dir(xFolder)) > 0 Then
xYesorNo = MsgBox(xFolder & " already exists." & vbCrLf & vbCrLf & "Do you want to overwrite it?", _
vbYesNo + vbQuestion, "File Exists")
On Error Resume Next
If xYesorNo = vbYes Then
Kill xFolder
Else
MsgBox "if you don't overwrite the existing PDF, I can't continue." _
& vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Exiting Macro"
Exit Sub
End If
If Err.Number <> 0 Then
MsgBox "Unable to delete existing file. Please make sure the file is not open or write protected." _
& vbCrLf & vbCrLf & "Press OK to exit this macro.", vbCritical, "Unable to Delete File"
Exit Sub
End If
End If
Set xUsedRng = xSht.UsedRange
If Application.WorksheetFunction.CountA(xUsedRng.Cells) <> 0 Then
'Save as PDF file
xSht.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xFolder, Quality:=xlQualityStandard
'Create Outlook email
Set xOutlookObj = CreateObject("Outlook.Application")
Set xEmailObj = xOutlookObj.CreateItem(0)
With xEmailObj
.Display
.To = ""
.CC = ""
.Subject = xSht.Name + ".pdf"
.Attachments.Add xFolder
If DisplayEmail = False Then
'.Send
End If
End With
Else
MsgBox "The active worksheet cannot be blank"
Exit Sub
End If
End Sub 3. 貼上程式碼後,按下 F5 或點選 VBA 編輯器中的執行以執行巨集。此時將彈出資料夾選擇對話方塊,請選取欲儲存 PDF 檔案的目標資料夾,再按一下確定繼續。

注意事項與實用技巧:

4. 流程完成後,系統將自動開啟新的 Outlook 郵件視窗,並附上 PDF 檔案。主旨欄位會自動填入工作表名稱並加上「。pdf」副檔名;您可自由編輯郵件內容、新增收件者,再依需求寄出。此方式不僅減少人為錯誤,更顯著提升效率,遠勝手動附加檔案。

此基於 VBA 的方法最適合需要定期將最終版工作表以 PDF 附件形式分發的情境,能有效減少重複的手動操作。其限制包括需依賴 Outlook、無法一次批次處理多個工作表,以及必須啟用巨集。若需更複雜的工作流程(例如同時寄送多個工作表或進一步自動化),建議考慮使用 Excel 增益集或內建功能。
替代方案:若您的環境不適合使用 VBA 巨集(例如巨集功能受限),可手動運用 Excel 內建的匯出或另存新檔功能,將工作表儲存為 PDF,再於 Outlook 中附加寄送。此方法雖步驟稍多,但無需特殊權限或程式設計知識,適用性廣泛!
輕鬆將一個或多個工作表一次儲存為獨立的 Pdf 文件:
分割工作簿的 Kutools for Excel 功能可協助您輕鬆將一個或多個工作表一次儲存為獨立的 PDF 文件,如下方示範所示。立即下載試用!(30 天免費試用))

相關文章:
- 如何在 Excel 檔名中加入時間戳記?
- 如何運用「另存新檔」功能,自動覆寫 Excel 中的既有檔案?
- 如何在 Excel 中將多個或所有工作表儲存或匯出為獨立的 CSV 或純文字檔案?
- 如何在 Excel 中停用或禁用「儲存」與「另存新檔」功能?
- 如何在 Excel 中停用活頁簿的「儲存」功能,僅允許使用「另存新檔」?
最佳 Office 生產力工具
| 🤖 | KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、醒目提示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 高級 LOOKUP:多重條件 VLookup | 多重數值 VLookup | 跨多個工作表 VLookup | 模糊查找…… | |
| 高級下拉列表:快速建立下拉式清單 | 相依式下拉式清單 | 多選下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位|移動欄位|切換隱藏欄位的可見狀態|比較範圍與欄位…… | |
| 精選功能:網格聚焦 | 設計視圖 |增強編輯欄 | 工作簿與工作表管理員 | 資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符,……)| 50+ 圖表 類型(甘特圖,……)| 40+ 實用公式(基於生日計算年齡,……)| 19 插入工具(插入二維碼,從路徑插入圖片,……)| 12 轉換工具(金額轉大寫,匯率轉換,……)| 7 合併和拆分工具(高級合併行,分割儲存格,……)|……以及更多 |
運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……
Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!
- 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
- 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
- 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!
所有 Kutools 增益集,一個安裝程式
Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!
- 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
- 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
- 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
- 30 天完整功能試用— 無需註冊,無需信用卡
- 超值之選— 比單獨購買各增益集更省費用