Skip to main content

如何僅通過Outlook從Excel發送工作表?

Author: Xiaoyang Last Modified: 2025-05-12

如果你想通過Outlook將Excel工作簿中的單個工作表以電子郵件形式發送,可以將該工作表作為附件、正文內容或PDF文件發送。但有沒有更快的方法來處理這個問題呢?

使用「傳送至郵件收件人」命令從Excel將單個工作表作為正文發送

使用VBA代碼從Excel將單個工作表作為附件發送

使用VBA代碼從Excel將單個工作表作為PDF文件發送


arrow blue right bubble 使用「傳送至郵件收件人」命令從Excel將單個工作表作為正文發送

Excel支持我們使用「傳送至郵件收件人」命令將活動工作表作為正文內容發送。你可以按照以下步驟操作:

如果你使用的是Excel 2007、2010或2013,則需要先將此「傳送至郵件收件人」命令添加到快速訪問工具欄中。

1. 點擊「 自訂快速訪問工具欄」圖標,然後選擇「其他命令」,請參見截圖:

choose More Commands from Customize Quick Access Toolbar

2. 在「Excel選項」對話框中,於「從下列位置選擇命令」下拉列表中選擇「不在功能區中的命令」,然後選擇「傳送至郵件收件人」選項,並點擊「添加>>」按鈕將此命令添加進去,最後點擊「確定」保存設置。請參見截圖:

select the Send to Mail Recipient option from Excel Options dialog box

3.傳送至郵件收件人」命令已插入到快速訪問工具欄中,請參見截圖:

the Send to Mail Recipient command has been inserted into the Quick Access Toolbar

4. 然後點擊這個「傳送至郵件收件人」圖標按鈕,會彈出一個提示框,在電子郵件提示框中勾選「將當前工作表作為消息正文發送」,然後點擊「確定」。請參見截圖:

check Send the current sheet as the message body in the dialog box

5. 接著會在工作表數據上方顯示一個電子郵件編輯框,你可以在相應的文本框中輸入收件人、主題和介紹文字。請參見截圖:

an email edit box is displayed, enter the recipients, subject and introduction

6. 然後點擊「發送此工作表」將活動工作表作為消息正文發送給指定的人。

a screenshot of kutools for excel ai

使用 Kutools AI 解鎖 Excel 的魔法

  • 智能執行:執行單元格操作、分析數據並創建圖表——所有這些都由簡單的指令驅動。
  • 自訂公式:生成量身定制的公式,簡化您的工作流程。
  • VBA 編碼:輕鬆編寫和實現 VBA 代碼。
  • 公式解釋:輕鬆理解複雜的公式。
  • 文本翻譯:打破電子表格中的語言障礙。
通過人工智能工具增強您的 Excel 能力。立即下載,體驗前所未有的效率!

arrow blue right bubble 使用VBA代碼從Excel將單個工作表作為附件發送

如果你想將活動工作表作為附件發送,以下VBA代碼可以幫助你完成。

1. 啟動你想發送的工作表。

2. 按住ALT + F11鍵,打開Microsoft Visual Basic for Applications窗口

3. 點擊「插入」>「 模塊」,並將以下代碼粘貼到模塊窗口中。

VBA代碼:從Excel發送當前工作表作為附件

Sub SendWorkSheet()
'Update 20131209
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Application.ScreenUpdating = False
Set Wb = Application.ActiveWorkbook
ActiveSheet.Copy
Set Wb2 = Application.ActiveWorkbook
Select Case Wb.FileFormat
Case xlOpenXMLWorkbook:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Case xlOpenXMLWorkbookMacroEnabled:
    If Wb2.HasVBProject Then
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Else
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Case Excel8:
    xFile = ".xls"
    xFormat = Excel8
Case xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
End Select
FilePath = Environ$("temp") & "\"
FileName = Wb.Name & Format(Now, "dd-mmm-yy h-mm-ss")
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
Wb2.SaveAs FilePath & FileName & xFile, FileFormat:=xFormat
With OutlookMail
    .To = "skyyang@extendoffice.com"
    .CC = ""
    .BCC = ""
    .Subject = "kte features"
    .Body = "Please check and read this document."
    .Attachments.Add Wb2.FullName
    .Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Application.ScreenUpdating = True
End Sub

注意:在上述代碼中,你可以根據自己的需求更改以下信息。

  • .To = "skyyang@extendoffice.com"
  • .CC = ""
  • .BCC = ""
  • .Subject = "kte features"
  • .Body = "Please check and read this document."

4. 然後按下F5鍵運行此代碼,會彈出一個提示框,進度條完成後點擊「允許」,然後當前工作表將作為附件發送給你的收件人。

click Allow when the progress bar is finished


arrow blue right bubble 使用VBA代碼從Excel將單個工作表作為PDF文件發送

有時候,你需要將工作表報告發送給他人,但不希望對方修改它。在這種情況下,你可以從Excel將工作表作為PDF文件發送。

1. 啟動你想發送的工作表。

2. 按住ALT + F11鍵,打開Microsoft Visual Basic for Applications窗口

3. 點擊「插入」>「模塊」,並將以下代碼粘貼到模塊窗口中。

VBA代碼:從Excel發送當前工作表作為PDF文件

Sub SendWorkSheetToPDF()
'Update 20131209
Dim Wb As Workbook
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
On Error Resume Next
Set Wb = Application.ActiveWorkbook
FileName = Wb.FullName
xIndex = VBA.InStrRev(FileName, ".")
If xIndex > 1 Then FileName = VBA.Left(FileName, xIndex - 1)
FileName = FileName & "_" + ActiveSheet.Name & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:=FileName
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
    .To = "skyyang@extendoffice.com"
    .CC = ""
    .BCC = ""
    .Subject = "kte features"
    .Body = "Please check and read this document."
    .Attachments.Add FileName
    .Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub

注意:在上述代碼中,你可以根據需要更改以下信息。

  • .To = "skyyang@extendoffice.com"
  • .CC = ""
  • .BCC = ""
  • .Subject = "kte features"
  • .Body = "Please check and read this document."

4. 然後按下F5鍵,會彈出一個提示框,進度條完成後點擊「允許」,然後活動工作表將作為PDF文件發送給指定的人。

click Allow after the progress bar finising

注意:

1. 這些方法僅在你使用Outlook作為郵件程序時可用。

2. 發送當前工作表後,你可以進入Outlook確認郵件是否成功發送。


建立郵件清單然後發送電子郵件

Kutools for Excel建立郵件清單發送 電子郵件 工具可以快速在工作表中創建郵件清單,然後將相同的主題、相同內容和相同附件發送給多個電子郵件地址。
 mailing list
arrow down
send multiples emails by kutools

相關文章:

如何通過Outlook從Excel發送當前工作簿?

如何通過Outlook從Excel發送/電子郵件範圍的單元格?

最佳辦公效率工具

? Kutools AI 助手:基於以下方式革新數據分析:智能執行   |  生成代碼  |  創建自訂公式  |  分析數據並生成圖表  |  調用 Kutools 函數
熱門功能查找、標記或識別重複值   |  刪除空行   |  合併列或單元格而不丟失數據   |   四捨五入無需公式 ...
高級 LOOKUP多條件 VLookup    多值 VLookup  |   多表查找   |   模糊查找 ....
高級下拉列表快速創建下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
列管理器添加指定數量的列  |  移動列  |  切換隱藏列的可見狀態  |  比較區域和列 ...
特色功能網格聚焦   |  設計檢視   |   增強編輯欄    工作簿與工作表管理器   |  資源庫(自動文本)   |  日期提取器   |  合併資料   |  加密/解密儲存格    按列表發送電子郵件   |  超級篩選   |   特殊篩選(篩選粗體/斜體/刪除線...) ...
前 15 名工具集12 個文本工具添加文本刪除特定字符、...)   |   50+ 種圖表 類型甘特圖、...)   |   40+ 實用公式基於生日計算年齡、...)   |   19 個插入工具插入QR碼根據路徑插入圖片、...)   |   12 個轉換工具金額轉大寫匯率轉換、...)   |   7 個合併與分割工具高級合併行分割儲存格、...)   |   ... 還有更多

使用 Kutools for Excel 提升您的 Excel 技能,體驗前所未有的高效。 Kutools for Excel 提供超過 300 種高級功能來提高生產力並節省時間。  點擊這裡獲取您最需要的功能...


Office Tab 將標籤式界面帶到 Office,讓您的工作更加輕鬆

  • 在 Word、Excel、PowerPoint 中啟用標籤式編輯和閱讀
  • 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
  • 提升 50% 的生產力,每天為您減少數百次鼠標點擊!