Excel 教程 – 從 Excel 發送電子郵件
通常,我們使用 Outlook、Gmail 等電子郵件客戶端來發送電子郵件。 但是,許多人將數據存儲在 Excel 工作簿中,並且在使用這些數據時需要將一些數據發送給其他人。 因此,他們需要直接從 Excel 工作簿發送電子郵件,這樣可以節省操作電子郵件客戶端的時間。 本分步教程將向您展示如何在不同條件下從 Excel 發送電子郵件。
備註:在應用以下方法之前,您需要在您的計算機中配置一個 Outlook 電子郵件客戶端,並將其設置為您的默認電子郵件客戶端。
目錄: [ 隱藏 ]
1. 從 Excel 發送電子郵件的基礎知識
本節介紹從 Excel 發送電子郵件的基礎知識。
1.1 使用 Excel 內置功能從 Excel 發送電子郵件
如果您只想從 Excel 發送簡單的電子郵件,僅包括收件人、主題、抄送和正文字段。 Excel 中的內置函數可以提供幫助。
如下表所示,要根據給定字段從 Excel 發送不同的電子郵件,您可以使用給定字段的單元格引用創建不同的超鏈接公式來完成它。 創建電子郵件超鏈接後,您可以單擊需要自動發送電子郵件的超鏈接。
注意: 如果收件人或抄送字段中有多個收件人,請用分號分隔。
本節分為四個部分,向您展示將電子郵件地址、抄送收件人、主題行和正文分別添加到超鏈接公式的步驟。 請執行以下操作。
的語法和參數 超級鏈接 功能如下。
句法
HYPERLINK(link_location, [friendly_name])
參數
在這裡我們用 “郵寄:” 作為添加電子郵件收件人的公式的一部分。 在此示例中,第一個收件人的電子郵件地址在單元格 B2 中,因此我們需要添加“mailto:”並將其引用到單元格 B2。
“郵寄:”&B2
1. 選擇一個單元格以顯示超鏈接。 在這種情況下,我選擇單元格 F2。
2.然後輸入以下公式。
=HYPERLINK("mailto:"&B2)
備註:如果按 Enter 鍵,將創建一個超鏈接,如下面的屏幕截圖所示。 當您單擊該鏈接時,將創建一封 Outlook 電子郵件,並且收件人的電子郵件地址將自動填充到“收件人”字段中。
收件人的電子郵件地址現已添加到超鏈接公式中。 請繼續執行以下步驟,根據需要添加主題行、抄送收件人和正文。
要將抄送收件人添加到超鏈接功能,請添加 "?cc=" 作為公式的一部分,如下所示。
單元格 F2 中的公式應如下所示:
=HYPERLINK("mailto:" & B2 & "?cc=" & C2)
要將主題行添加到超鏈接功能,請添加 "&主題=" 作為公式的一部分,如下所示。
單元格 F2 中的公式現在應如下所示:
=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2)
最後一步是將正文添加到超鏈接公式中。 如您在示例中所見,E2 中的兩行文本由換行符分隔,並且您希望在電子郵件正文中保留換行符。 Outlook 在這種情況下是否識別換行符? 讓我們檢查一下。
要將正文文本添加到超鏈接公式中,您需要添加 “&身體=” 作為公式的一部分,如下所示。
單元格 F2 中的公式現在顯示如下:
=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2 & "&body="& E2)
注意: 如果按 Enter 鍵並單擊鏈接。 您可以在新電子郵件中看到電子郵件正文中的內容顯示在同一行中。
要在單獨的行中顯示電子郵件正文,您需要通過添加回車字符代碼來修改單元格內容 %0A 到需要插入換行符的文本。 看截圖:
在上述步驟中,我們使用電子郵件字段完成了 Link_location 參數。 在本節中,我們將完成下一個參數 [friendly_name]。
在這種情況下,我希望超鏈接單元格將文本顯示為“給xx發郵件”,其中 xx 是 A2 中的收件人姓名。 因此,F2中的公式應改為:
=HYPERLINK("mailto:" & B2 & "?cc=" & C2 & "&subject="& D2 & "&body="& E2, "Email to "&A2)
按 Enter 獲得結果的關鍵。
選擇此公式單元格並拖動其 自動填充句柄 向下創建其他電子郵件超鏈接。 看截圖:
除了使用上述超鏈接公式,您可以手動創建電子郵件超鏈接 插入 超鏈接 Excel 中的函數。 本節將向您展示這些步驟。
1. 右鍵單擊要插入超鏈接的電子郵件,選擇 Link 從右鍵單擊菜單中。
2.在彈出 插入超鏈接 對話框,您需要配置如下。
單擊超鏈接時,將創建一封帶有指定收件人、主題和正文字段的 Outlook 電子郵件,如下面的屏幕截圖所示。
筆記:
1.2 使用 VBA 腳本向單元格中的多個收件人發送電子郵件
在上面的示例中,您可以看到多個電子郵件地址顯示在一個單元格中,以分號分隔。 如果您有如下屏幕截圖所示的電子郵件地址列表,並且想要向所有這些人發送電子郵件或獨立電子郵件,則以下 VBA 代碼可以幫到您。
1.2.1 使用 VBA 腳本向單元格中的多個收件人發送電子郵件
1. 在包含您要將電子郵件發送到的所有電子郵件地址的工作表中。 請按 其他 + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。
2。 在裡面 Microsoft Visual Basic for Applications 窗口中,單擊 插入 > 模塊 然後將以下代碼粘貼到 模塊(代碼) 窗口。
VBA 代碼:向電子郵件地址列表發送電子郵件
Sub sendmultiple()
'updateby Extendoffice 20220802
Dim xOTApp As Object
Dim xMItem As Object
Dim xCell As Range
Dim xRg As Range
Dim xEmailAddr As String
Dim xTxt As String
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select the addresses list:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xOTApp = CreateObject("Outlook.Application")
For Each xCell In xRg
If xCell.Value Like "*@*" Then
If xEmailAddr = "" Then
xEmailAddr = xCell.Value
Else
xEmailAddr = xEmailAddr & ";" & xCell.Value
End If
End If
Next
Set xMItem = xOTApp.CreateItem(0)
With xMItem
.To = xEmailAddr
.Subject = "Test"
.Body = "Dear " _
& vbNewLine & vbNewLine & _
"This is a test email " & _
"sending in Excel"
.Display
End With
End Sub
3。 按 F5 運行代碼的鍵和 Excel的Kutools 對話框彈出。 選擇電子郵件地址列表並單擊 OK.
筆記:
.Body = "Dear " _
& vbNewLine & vbNewLine & _
"This is a test email " & _
"sending in Excel"
運行代碼後,所選範圍內的所有電子郵件地址都會顯示在消息窗口的“收件人”字段中。 看截圖:
1.2.2 使用 VBA 腳本分別向單元格中列出的每個收件人發送電子郵件
上面的代碼將所選範圍內的所有電子郵件地址添加到消息窗口的“收件人”字段中。 如果您想將電子郵件分別發送到單元格中列出的每個電子郵件地址而不讓他們看到彼此的電子郵件地址,您可以嘗試以下 VBA 腳本。
1. 在包含您要將電子郵件發送到的所有電子郵件地址的工作表中。 請按 其他 + F11 鑰匙 打開 Microsoft Visual Basic for Applications 窗口.
2。 在裡面 Microsoft Visual Basic for Applications 窗口中,單擊 插入 > 模塊,然後將以下代碼粘貼到模塊(代碼)窗口中。
VBA 代碼:分別向單元格中列出的每個電子郵件地址發送電子郵件
Sub SendEmailToAddressInCells()
'Updated by Extendoffice 20220802
Dim xRg As Range
Dim xRgEach As Range
Dim xRgVal As String
Dim xAddress As String
Dim xOutApp As Outlook.Application
Dim xMailOut As Outlook.MailItem
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select the addresses list", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Set xOutApp = CreateObject("Outlook.Application")
Set xRg = xRg.SpecialCells(xlCellTypeConstants, xlTextValues)
For Each xRgEach In xRg
xRgVal = xRgEach.Value
If xRgVal Like "?*@?*.?*" Then
Set xMailOut = xOutApp.CreateItem(olMailItem)
With xMailOut
.To = xRgVal
.Subject = "Test"
.Body = "Dear " _
& vbNewLine & vbNewLine & _
"This is a test email " & _
"sending in Excel"
.Display
'.Send
End With
End If
Next
Set xMailOut = Nothing
Set xOutApp = Nothing
Application.ScreenUpdating = True
End Sub
3。 然後點擊 工具 > 引用。 在 參考– VBAProject 對話框,找到並檢查 Microsoft Outlook 16.0 對像庫 框,然後單擊 OK 按鈕保存更改。
4。 按 F5 運行代碼的鍵和 Excel的Kutools 對話框彈出。 選擇電子郵件地址列表並單擊 確定。
筆記:
.Subject = "Test"
.Body = "Dear " _
& vbNewLine & vbNewLine & _
"This is a test email " & _
"sending in Excel"
在此示例中,所選範圍內有六個電子郵件地址,因此將自動創建六個 Outlook 消息窗口,並在“收件人”字段中列出單獨的電子郵件地址,如下面的屏幕截圖所示。
5.最後,單擊 送出 按鈕逐一發送電子郵件。
2. 在從 Excel 發送的電子郵件中插入附件或 Outlook 簽名(使用 VBA 腳本)
本節將向您展示如何在從 Excel 發送的電子郵件中插入附件或 Outlook 默認簽名。
2.1 在從 Excel 發送的電子郵件中插入附件
這裡我們描述插入附件的不同情況,您可以根據自己的需要選擇方法。 在本節中,您可以學習(單擊以下任何鏈接以導航到相應的方法):
您可以應用以下 VBA 代碼將文件夾中的一個或多個文件作為 Excel 的附件發送給電子郵件。
1。 按 其他 + F11 鍵。
2.在開幕 Microsoft Visual Basic for Applications 窗口中,單擊 插入 > 模塊. 然後將以下 VBA 代碼粘貼到模塊(代碼)窗口中。
VBA 代碼:將文件夾中的文件作為 Excel 的附件通過電子郵件發送
Sub EmailWithAttachments()
'Updated by Extendoffice 20220802
Dim xStrFile As String
Dim xFilePath As String
Dim xFileDlg As FileDialog
Dim xFileDlgItem As Variant
Dim xOutApp As Outlook.Application
Dim xMailOut As Outlook.MailItem
Application.ScreenUpdating = False
Set xOutApp = CreateObject("Outlook.Application")
Set xMailOut = xOutApp.CreateItem(olMailItem)
Set xFileDlg = Application.FileDialog(msoFileDialogFilePicker)
If xFileDlg.Show = -1 Then
With xMailOut
.BodyFormat = olFormatRichText
.To = ""
.Subject = "test"
.HTMLBody = "test"
For Each xFileDlgItem In xFileDlg.SelectedItems
.Attachments.Add xFileDlgItem
Next xFileDlgItem
.Display
End With
End If
Set xMailOut = Nothing
Set xOutApp = Nothing
Application.ScreenUpdating = True
End Sub
筆記:
3。 然後點擊 工具 > 引用。 在 參考– VBAProject 對話框,找到並檢查 Microsoft Outlook 16.0 對像庫 框,然後單擊 OK 按鈕保存更改。
4。 按 F5 鍵來運行代碼,然後 瀏覽 彈出窗口,請在郵件中選擇您需要附加的文件,然後點擊 OK.
然後會彈出一個消息窗口。 您可以在 Attached 字段中看到所選文件顯示為附件。
如果您想將當前工作表作為附件從 Excel 中通過電子郵件發送,您可以在本節中應用 VBA 腳本。
1。 按 其他 + F11 鍵。
2.在開幕 Microsoft Visual Basic for Applications 窗口中,單擊 插 > 模塊. 然後將以下 VBA 代碼粘貼到 模塊(代碼) 窗口。
VBA 代碼:通過電子郵件將當前工作表作為附件發送
Sub SendWorkSheet()
'Update by Extendoffice 20220802
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 = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "kte features"
.Body = "Please check and read this document."
.Attachments.Add Wb2.FullName
.Display
'.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Application.ScreenUpdating = True
End Sub
筆記:
3。 按 F5 鍵運行代碼,則當前工作表將保存為 Excel 工作簿並作為附件自動插入到消息窗口中。 看截圖:
注意: 僅包含當前工作表的附加工作簿與原始工作簿具有相同的名稱。 並且您運行代碼的時間也會添加到工作簿名稱中。
在學習了通過 Excel 將當前工作表作為附件發送電子郵件的 VBA 代碼之後,我們在此提供另一個 VBA 腳本來幫助您將整個工作簿作為附件發送電子郵件。 請執行以下操作。
1。 按 其他 + F11 鍵。
2.在開幕 Microsoft Visual Basic for Applications 窗口中,單擊 插入 > 模塊。 然後將以下 VBA 代碼粘貼到模塊(代碼)窗口中。
VBA 代碼:通過電子郵件將當前工作簿作為 Excel 的附件發送
Sub SendWorkBook()
'Update by Extendoffice 20220802
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
On Error Resume Next
With OutlookMail
.To = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "kte feature"
.Body = "Hello, please check and read this document, thank you."
.Attachments.Add Application.ActiveWorkbook.FullName
.Display
'.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
筆記:
3。 按 F5 鍵運行代碼,然後當前工作簿會自動作為附件插入到消息窗口中。 看截圖:
對於大多數人來說,他們傾向於將 Excel 工作簿保存為 PDF 文件,然後將其作為附件發送給其他人。 在本節中,我將向您展示一種直接從 Excel 發送電子郵件的方法,其中當前打開的工作簿作為 PDF 附件,而無需手動將工作簿另存為 PDF 文件。
1。 按 其他 + F11 鍵。
2.在開幕 Microsoft Visual Basic for Applications 窗口中,單擊 插入 > 模塊。 然後將以下 VBA 代碼粘貼到模塊(代碼)窗口中。
VBA 代碼:將整個工作簿作為 PDF 附件通過電子郵件發送
Sub SendWorkBookAsPDF()
'Update 20220803
Dim Wb As Workbook
Dim FilePath As String
Dim FileName As String
Dim xOutApp As Object
Dim xOutMail As Object
On Error Resume Next
Application.ScreenUpdating = False
Set Wb = Application.ActiveWorkbook
FileName = Left(Wb.Name, (InStrRev(Wb.Name, ".", -1, vbTextCompare) - 1)) & Format(Now, "dd-mmm-yy h-mm-ss") & ".pdf"
FilePath = Environ$("temp") & "\" & FileName
Wb.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
FilePath, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
With xOutMail
.To = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "test"
.Body = "test"
.Attachments.Add FilePath
.Display 'or use .Send
End With
Kill FilePath
Set xOutMail = Nothing
Set xOutApp = Nothing
Application.ScreenUpdating = True
End Sub
筆記:
3。 按 F5 運行代碼的關鍵。 然後,當前工作簿會自動作為 PDF 文件附件插入到新消息窗口中。 看截圖:
例如,有一個名為“Monthly sales”的工作簿,您在名為“sales report”的工作表中完成了一個銷售報告表,並希望將此工作表作為 PDF 文件發送給您的同事。 下面的 VBA 代碼可以幫你一個忙。
1。 按 其他 + F11 鍵。
2.在開幕 Microsoft Visual Basic for Applications 窗口中,單擊 插 > 模塊。 然後將以下 VBA 代碼粘貼到模塊(代碼)窗口中。
VBA 代碼:將當前工作表作為 PDF 附件通過電子郵件發送
Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
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 = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "test"
.Body = "test"
.Attachments.Add FileName
.Display
'.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
筆記:
3。 按 F5 運行代碼的關鍵。 然後,當前工作表會自動作為 PDF 文件附件插入到新消息窗口中。 看截圖:
2.2 在從 Excel 發送的電子郵件中插入 Outlook 簽名
以上述情況為例,您應用上述 VBA 代碼將當前工作表作為 PDF 文件附件從 Excel 發送,但無法將 Outlook 簽名添加到消息窗口。 要在從 Excel 發送的電子郵件中保留 Outlook 默認簽名,以下方法將有所幫助。
下面列出了兩個 VBA 代碼。
VBA 代碼 1:該代碼有助於保留 Outlook 簽名。
VBA 代碼 2:該代碼有助於將當前工作表作為 PDF 附件通過電子郵件發送。
VBA 代碼 1:保留 Outlook 簽名
.HTMLBody = "Email body" & "
" & .HTMLBody
VBA 代碼 2:將當前工作表作為 PDF 附件通過電子郵件發送
Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
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 = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "test"
.Body = "test"
.Attachments.Add FileName
.Display
'.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
1. 通常情況下,您需要按 其他 + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。
2。 在裡面 Microsoft Visual Basic for Applications 窗口中,單擊 插入 > 模塊. 然後將上面的VBA代碼2粘貼到Module(Code)窗口中。
3、要在Excel發送的郵件中保留Outlook默認簽名,需要修改VBA代碼2如下:
這是修改後的完整代碼。
Sub SendWorkSheetToPDF()
'Update by Extendoffice 20220803
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
.Display
.To = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "test"
.HTMLBody = "Email body" & "
" & .HTMLBody
.Attachments.Add FileName
'.Send
End With
Kill FileName
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
4。 按 F5 運行代碼的關鍵。 然後您將獲得一個新的消息窗口,其中當前工作表作為 PDF 文件附加,而 Outlook 默認簽名將自動插入到電子郵件正文的末尾。
3. 滿足條件時自動從 Excel 發送電子郵件(使用 VBA 腳本)
在上面的示例中,您需要手動運行代碼來實現電子郵件傳遞。 如果您想在滿足特定條件時自動觸發代碼,例如當單元格達到某個值時,當單元格的值發生變化時,當到達日期等時,將自動發送電子郵件。 本節列出了 Excel 用戶在 Google 中經常搜索的條件,以幫助您在滿足特定條件時自動從 Excel 發送電子郵件。
3.1 當單元格達到一定值時自動發送電子郵件
如下面的屏幕截圖所示,假設您有一個銷售表,其中 D6 單元格包含銷售總額。 您想根據銷售額自動向老闆發送電子郵件,例如,當銷售額超過 10000 時自動創建或發送電子郵件,但如果銷售額等於或小於 10000,則不執行任何操作。
1. 在包含銷售表的工作表中,右鍵單擊工作表選項卡,然後單擊 查看代碼 從右鍵單擊菜單中。
2.在開幕 Microsoft Visual Basic for Applications 窗口中,將以下 VBA 代碼粘貼到 表(代碼) 窗口。
VBA代碼:當單元格在Excel中達到某個值時自動發送電子郵件
Dim xRg As Range
'Update by Extendoffice 20200803
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Cells.Count > 1 Then Exit Sub
Set xRg = Intersect(Range("D6"), Target)
If xRg Is Nothing Then Exit Sub
If IsNumeric(Target.Value) And Target.Value > 10000 Then
Call Mail_small_Text_Outlook
End If
End Sub
Sub Mail_small_Text_Outlook()
Dim xOutApp As Object
Dim xOutMail As Object
Dim xMailBody As String
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
On Error Resume Next
With xOutMail
.To = ""
.CC = "Email address"
.BCC = "Email address"
.Subject = "test"
.Body = xMailBody
.Display 'or use .Send
End With
On Error GoTo 0
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub
Private Sub Worksheet_Calculate()
Dim xI As Integer
Dim xRg As Range
Set xRg = Range("D6")
On Error GoTo Err01
xI = Int(xRg.Value)
If xI > 10000 Then
Call Mail_small_Text_Outlook
End If
Err01:
End Sub
筆記:
xMailBody = "Hi boss" & vbNewLine & vbNewLine & _
"Total sales of over $10,000 in January: " & Range("D6")
從現在開始,當單元格 D6 中的值超過 10000 時,將創建一封電子郵件,如下面的屏幕截圖所示。
3.2 單元格值更改時自動發送電子郵件
如下面的屏幕截圖所示,假設您收到一個工作簿,其中包含不同工作表中的月銷售額和工作表中的銷售總額。 您需要驗證銷售總額,如果銷售總額被修改,請將工作簿發送回發件人並通知發件人該單元格已被修改。
1. 在包含銷售表的工作表中,右鍵單擊工作表選項卡,然後單擊 查看代碼 從右鍵單擊菜單中。
2.在開幕 Microsoft Visual Basic for Applications 窗口中,將以下 VBA 代碼粘貼到工作表(代碼)窗口中。
VBA代碼:指定單元格值更改時自動發送電子郵件
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220803
Dim xRgSel As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xMailBody As String
Dim xBoolean As Boolean
Dim xItsRG As Range
Dim xDDs As Range
Dim xDs As Range
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xBoolean = False
Set xRg = Range("B14")
Set xItsRG = Intersect(Target, xRg)
Set xDDs = Intersect(Target.DirectDependents, xRg)
Set xDs = Intersect(Target.Dependents, xRg)
If Not (xItsRG Is Nothing) Then
Set xRgSel = xItsRG
xBoolean = True
ElseIf Not (xDDs Is Nothing) Then
Set xRgSel = xDDs
xBoolean = True
ElseIf Not (xDs Is Nothing) Then
Set xRgSel = xDs
xBoolean = True
End If
ActiveWorkbook.Save
If xBoolean Then
Debug.Print xRgSel.Address
Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xMailBody = "The cell " & xRgSel.Address(False, False) & _
" in the worksheet '" & Me.Name & "' were modified on " & _
Format$(Now, "mm/dd/yyyy") & " at " & Format$(Now, "hh:mm:ss") & _
" by " & Environ$("username") & "."
With xMailItem
.To = ""
.CC = "Email address"
.BCC = "Email address"
.Subject = "Worksheet modified"
.Body = xMailBody
.Attachments.Add (ThisWorkbook.FullName)
.Display
End With
Set xRgSel = Nothing
Set xOutApp = Nothing
Set xMailItem = Nothing
End If
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
筆記:在代碼中,
從現在開始,當單元格 B14 中的值發生變化時,將自動創建 Outlook 消息,如下面的屏幕截圖所示。
3.3 保存工作簿時自動發送電子郵件
如果您有修改後需要與他人共享的工作簿,通常需要保存工作簿,啟動電子郵件客戶端,創建一個附有此工作簿的新電子郵件,撰寫相應的字段,然後發送電子郵件。 本節將向您展示每次保存工作簿時自動創建電子郵件的方法。 請執行以下操作。
1。 按 其他 + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。
2. 在此窗口中,雙擊 的ThisWorkbook ,在 專案 窗格,然後將以下 VBA 代碼粘貼到 本工作簿(代碼) 窗口。
VBA 代碼:保存工作簿時自動發送電子郵件
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
'Updated by Extendoffice 20220804
Dim xOutApp As Object
Dim xMailItem As Object
Dim xName As String
On Error Resume Next
Set xOutApp = CreateObject("Outlook.Application")
Set xMailItem = xOutApp.CreateItem(0)
xName = ActiveWorkbook.FullName
With xMailItem
.To = ""
.CC = "Email address"
.BCC = "Email address"
.Subject = "The workbook has been updated"
.Body = "Hi," & Chr(13) & Chr(13) & "File is now updated."
.Attachments.Add xName
.Display
'.send
End With
Set xMailItem = Nothing
Set xOutApp = Nothing
End Sub
筆記:在代碼中,
3. 從現在開始,在保存工作簿時按 按Ctrl + S 鍵或單擊 節省 按鈕,將自動創建 Outlook 電子郵件。 您可以看到當前工作簿作為附件附加,並且字段填充了指定的內容。 看截圖:
保養竅門:如果您經常使用此工作簿,這裡建議您將工作簿另存為 Excel啟用宏的工作簿 保存 VBA 腳本以供將來使用。 步驟如下。
3.4 在特定時間自動發送電子郵件
假設您需要向某人發送一封包含任務分配工作簿的電子郵件 每週五早上 9 點,並希望在 Excel 中自動執行此操作,而無需手動操作電子郵件客戶端。 本節將向您展示完成它的方法。
1。 按 其他 + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。
2。 在裡面 Microsoft Visual Basic for Applications 窗口中,單擊 插入 > 模塊。 然後將以下 VBA 代碼粘貼到模塊窗口中。
VBA 代碼 1:將當前工作簿作為 Excel 的附件通過電子郵件發送
Sub Timer()
If Weekday(Date) = vbFriday Then
SendWorkBook
Application.OnTime TimeValue("09:00:00"), "Timer"
Else
Application.OnTime TimeValue("09:00:00"), "Timer"
End If
End Sub
Sub SendWorkBook()
'Update by Extendoffice 20220802
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(0)
On Error Resume Next
With OutlookMail
.To = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "kte feature"
.Body = "Hello, please check and read this document, thank you."
.Attachments.Add Application.ActiveWorkbook.FullName
.Display
'.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
3. 在此窗口中,雙擊 的ThisWorkbook ,在 專案 窗格,然後將以下 VBA 代碼粘貼到 本工作簿(代碼) 窗口。
VBA代碼2:在特定時間自動發送電子郵件
Private Sub Workbook_Open()
Application.OnTime TimeValue("09:00:00"), "Timer"
End Sub
筆記:
4. 保存代碼,然後將工作簿另存為啟用 Excel 宏的工作簿,如下所示。
5. 打開您保存的啟用宏的工作簿,當日期和時間到達時,將自動創建或發送一封電子郵件。
4. 附加主題
本節收集您在從 Excel 發送電子郵件時可能遇到的其他主題。
4.1 從 Excel 中通過電子郵件發送一系列單元格(使用 VBA 腳本)
假設 Excel 工作表中存在如下圖所示的月銷售額表,您需要將此月銷售額表作為電子郵件正文內容或直接作為附件發送給其他人。 在這裡,我們為您提供兩種方法來完成它。
4.1.1 通過電子郵件將範圍作為 Excel 正文內容的一部分
您可以運行以下 VBA 代碼從 Excel 發送一系列單元格作為電子郵件正文內容的一部分
1。 按 其他 + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。
2。 在裡面 Microsoft Visual Basic for Applications 窗口中,單擊 工具 > 參考。 然後檢查 Microsoft Outlook 16.0 對像庫 框並單擊 OK ,在 參考– VBAProject 對話框。
3。 點擊 插入 > 模塊,然後將以下 VBA 代碼粘貼到 模塊(代碼) 窗口。
VBA 代碼:從 Excel 發送一系列單元格作為電子郵件正文內容的一部分
Sub SendARangeofCells()
'Updated by Extendoffice 20220809
Dim xRg As Range
Dim I, J As Long
Dim xAddress As String
Dim xMailOut As Object
Dim xOutApp As Object
On Error Resume Next
Set xOutApp = CreateObject("Outlook.Application")
Set xMailOut = xOutApp.CreateItem(olMailItem)
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select range you need to paste into email body", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Set xOutApp = CreateObject("Outlook.Application")
Set xMailOut = xOutApp.CreateItem(olMailItem)
With xMailOut
.Subject = "test"
.To = ""
.CC = "Email address"
.BCC = "Email address"
.HTMLBody = RangetoHTML(xRg)
.Display
'.Send
End With
Set xMailOut = Nothing
Set xOutApp = Nothing
Application.ScreenUpdating = True
End Sub
' The following VBA script is cited from this page:
' https://stackoverflow.com/questions/18663127/paste-excel-range-in-outlook
Function RangetoHTML(rng As Range)
' By Ron de Bruin.
Dim fso As Object
Dim ts As Object
Dim TempFile As String
Dim TempWB As Workbook
TempFile = Environ$("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"
'Copy the range and create a new workbook to past the data in
rng.Copy
Set TempWB = Workbooks.Add(1)
With TempWB.Sheets(1)
.Cells(1).PasteSpecial Paste:=8
.Cells(1).PasteSpecial xlPasteValues, , False, False
.Cells(1).PasteSpecial xlPasteFormats, , False, False
.Cells(1).Select
Application.CutCopyMode = False
On Error Resume Next
.DrawingObjects.Visible = True
.DrawingObjects.Delete
On Error GoTo 0
End With
'Publish the sheet to a htm file
With TempWB.PublishObjects.Add( _
SourceType:=xlSourceRange, _
Filename:=TempFile, _
Sheet:=TempWB.Sheets(1).Name, _
Source:=TempWB.Sheets(1).UsedRange.Address, _
HtmlType:=xlHtmlStatic)
.Publish (True)
End With
'Read all data from the htm file into RangetoHTML
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.GetFile(TempFile).OpenAsTextStream(1, -2)
RangetoHTML = ts.ReadAll
ts.Close
RangetoHTML = Replace(RangetoHTML, "align=center x:publishsource=", _
"align=left x:publishsource=")
'Close TempWB
TempWB.Close savechanges:=False
'Delete the htm file we used in this function
Kill TempFile
Set ts = Nothing
Set fso = Nothing
Set TempWB = Nothing
End Function
筆記:在代碼中,
4。 按 F5 運行代碼的關鍵。 在彈出的 Excel的Kutools 對話框,選擇您需要作為電子郵件正文內容的一部分發送的單元格範圍,然後單擊 OK。 看截圖:
然後將自動創建 Outlook 電子郵件。 您可以看到您在工作表中選擇的範圍已插入到電子郵件正文中。 看截圖:
如果您需要通過電子郵件將工作表中的一系列單元格作為 Excel 的附件發送。 您可以嘗試以下 VBA 代碼。
1。 按 其他 + F11 鍵。
2.在開幕 Microsoft Visual Basic for Applications 窗口中,單擊 插入 > 模塊. 然後將以下 VBA 代碼粘貼到 模塊(代碼) 窗口。
VBA 代碼:通過電子郵件將範圍作為 Excel 的附件發送
Sub SendRange()
'Update 20220809
Dim xFile As String
Dim xFormat As Long
Dim Wb As Workbook
Dim Wb2 As Workbook
Dim Ws As Worksheet
Dim FilePath As String
Dim FileName As String
Dim OutlookApp As Object
Dim OutlookMail As Object
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set Wb = Application.ActiveWorkbook
Wb.Worksheets.Add
Set Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.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 = ""
.CC = "Email address"
.BCC = "Email address"
.Subject = "Monthly sales for 2021"
.Body = "Hello, please check and read this document. "
.Attachments.Add Wb2.FullName
.Display
'.Send
End With
Wb2.Close
Kill FilePath & FileName & xFile
Set OutlookMail = Nothing
Set OutlookApp = Nothing
Ws.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
筆記:
3。 按 F5 運行代碼的關鍵。 在彈出的 Excel的Kutools 對話框中,選擇您需要在電子郵件中作為附件發送的單元格範圍,然後單擊 OK。 看截圖:
然後將自動創建 Outlook 電子郵件。 您在工作表中選擇的單元格範圍將保存為 Excel 工作簿並附加在“消息”窗口中。 看截圖:
4.2 在 Excel 中單擊按鈕時發送電子郵件
例如,如果您需要單擊命令按鈕來觸發宏以從 Excel 發送電子郵件,則通過單擊工作表中的命令按鈕將當前工作簿作為附件發送給其他人。 您可以按照以下步驟完成。
1。 點擊 開發者 > 插入 > 命令按鈕(ActiveX控件). 然後在工作表中繪製一個命令按鈕。
保養竅門:如果您已經有命令按鈕,請跳過此步驟。
2。 按 其他 + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。 在窗口中,單擊 插入 > 模式,然後將 VBA 代碼(用於將當前工作簿作為 Excel 的附件通過電子郵件發送的代碼)粘貼到“模塊(代碼)”窗口中。
備註:這裡您在第 2 步中創建的宏的名稱是 發送工作簿.
3。 按 其他 + Q 關閉鍵 Microsoft Visual Basic for Applications 窗口。
4. 現在您需要將宏分配給命令按鈕。 右鍵單擊命令按鈕,選擇 查看代碼 從右鍵單擊菜單。
5.然後 Microsoft Visual Basic for Applications 彈出窗口,可以看到下面兩行列在 表(代碼) 窗口。
Private Sub CommandButton1_Click()
End Sub
6. 在命令按鈕的子過程中輸入現有宏的名稱。
7。 按 其他 + Q 關閉鍵 Visual Basic 編輯器,然後點擊 開發者 > 設計模式 關閉設計模式。
現在您可以單擊命令按鈕以將當前工作簿作為電子郵件中的附件發送電子郵件。
4.3 從指定的電子郵件帳戶發送電子郵件
通常,當使用 VBA 代碼從 Excel 啟動電子郵件時,發件人的電子郵件帳戶是 Outlook 中的默認帳戶。 假設您在 Outlook 中配置了多個電子郵件帳戶,並希望使用某個帳戶從 Excel 發送電子郵件,而不是使用默認帳戶。 以下 VBA 代碼可以提供幫助。
在這種情況下,以下代碼是必需的。
VBA代碼1:
Dim OutlookMail As Outlook.MailItem
VBA代碼2:
For Each xAccount In OutlookApp.Session.Accounts
If VBA.LCase(xAccount.SmtpAddress) = VBA.LCase("") Then 'Specify your email account here
OutlookMail.SendUsingAccount = xAccount
End If
Next
如何使用上面的 VBA 代碼?
在此示例中,我們將指定某個電子郵件帳戶以將當前工作簿作為附件從 Excel 發送。 請執行以下操作。
1。 按 其他 + F11 鍵。 在裡面 Microsoft Visual Basic for Applications 窗口中,單擊 工具 > 參考。 然後檢查 Microsoft Outlook 16.0 對像庫 框並單擊 OK ,在 參考– VBAProject 對話框。
2。 點擊 插入 > 模塊. 然後將以下 VBA 代碼粘貼到 模塊(代碼) 窗口。
VBA 代碼:通過指定的 Outlook 帳戶將當前工作簿作為電子郵件附件從 Excel 發送
Sub SendWorkBook()
'Update by Extendoffice 20220809
Dim OutlookApp As Object
Dim OutlookMail As Outlook.MailItem 'important! Here can’t be declared as Object
Dim xAccount As Account
Set OutlookApp = CreateObject("Outlook.Application")
Set OutlookMail = OutlookApp.CreateItem(olMailItem)
On Error Resume Next
'The following lines helps to specify a certian email account
For Each xAccount In OutlookApp.Session.Accounts
If VBA.LCase(xAccount.SmtpAddress) = VBA.LCase("") Then 'Specify your email account here
OutlookMail.SendUsingAccount = xAccount
End If
Next
'End
With OutlookMail
.To = ""
.CC = "Email Address"
.BCC = "Email Address"
.Subject = "kte feature"
.Body = "Hello, please check and read this document, thank you."
.Attachments.Add Application.ActiveWorkbook.FullName
.Display
'.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
3。 按 F5 運行代碼的關鍵。 然後會彈出一封 Outlook 電子郵件,您可以看到 起 字段填充有您在代碼中指定的電子郵件帳戶。
4.4 到達日期時發送電子郵件
如果您需要根據特定的截止日期發送電子郵件,例如,如下圖所示,有一個項目表, 當 E2:E7 範圍內的到期日等於或小於今天起 7 天時(假設當前日期為 2022/8/4),將自動向相應的項目負責人發送一封電子郵件,並通知他們項目即將到期。
1. 在包含項目表的工作表中,右鍵單擊工作表選項卡並單擊 查看代碼 從右鍵單擊菜單中。
2.在開幕 Microsoft Visual Basic for Applications 窗口中,將以下 VBA 代碼粘貼到 表(代碼) 窗口。
VBA 代碼:在到期日到期時自動發送電子郵件
Public Sub SendMailDueDate()
'Updated by Extendoffice 20220804
Dim xRgDate As Range
Dim xRgSend As Range
Dim xRgText As Range
Dim xRgDone As Range
Dim xOutApp As Object
Dim xMailItem As Object
Dim xLastRow As Long
Dim vbCrLf As String
Dim xMailBody As String
Dim xRgDateVal As String
Dim xRgSendVal As String
Dim xMailSubject As String
Dim i As Long
On Error Resume Next
Set xRgDate = Range("E2:E7") 'Please reference the due date column range
If xRgDate Is Nothing Then Exit Sub
Set xRgSend = Range("C2:C7") 'Please reference the email addresses column range
If xRgSend Is Nothing Then Exit Sub
Set xRgText = Range("D2:D7") 'Please reference the remark column range (the remark used to notify project leaders of the expiration of the project)
If xRgText Is Nothing Then Exit Sub
xLastRow = xRgDate.Rows.Count
Set xRgDate = xRgDate(1)
Set xRgSend = xRgSend(1)
Set xRgText = xRgText(1)
Set xOutApp = CreateObject("Outlook.Application")
For i = 1 To xLastRow
xRgDateVal = ""
xRgDateVal = xRgDate.Offset(i - 1).Value
If xRgDateVal <> "" Then
If CDate(xRgDateVal) - Date <= 7 And CDate(xRgDateVal) - Date > 0 Then
xRgSendVal = xRgSend.Offset(i - 1).Value
xMailSubject = xRgText.Offset(i - 1).Value & " on " & xRgDateVal
vbCrLf = "
"
xMailBody = ""
xMailBody = xMailBody & "Dear " & xRgSendVal & vbCrLf
xMailBody = xMailBody & "Remark : " & xRgText.Offset(i - 1).Value & vbCrLf
xMailBody = xMailBody & ""
Set xMailItem = xOutApp.CreateItem(0)
With xMailItem
.Subject = xMailSubject
.To = xRgSendVal
.CC = "Email address"
.BCC = "Email address"
.HTMLBody = xMailBody
.Display
'.Send
End With
Set xMailItem = Nothing
End If
End If
Next
Set xOutApp = Nothing
End Sub
筆記:在代碼中,
3。 按 F5 運行代碼的關鍵。 然後,如果到期日期符合條件,則會創建相應的電子郵件。 在這種情況下,將創建兩封電子郵件,如下面的屏幕截圖所示。
5. 一個方便的工具,可幫助您輕鬆地從 Excel 發送電子郵件
如果您是 VBA 新手,上述方法可能對您來說不太容易處理。 在這裡我們推薦 Excel的Kutools“ 發電子郵件 功能,使用此功能,您只需單擊幾下即可輕鬆地從 Excel 發送電子郵件。 請執行以下操作。
申請前 Excel的Kutools請 首先下載並安裝.
5.1 輕鬆創建包含您需要的電子郵件字段的郵件列表
在應用發送電子郵件功能之前,您需要創建一個包含您需要的電子郵件字段的郵件列表。 在這裡,創建郵件列表功能可以提供幫助。
1。 點擊 Kutools 加 > 創建郵件列表.
2.在開幕 創建郵件列表 窗口,您需要進行如下配置。
然後創建一個示例郵件列表表,如下面的屏幕截圖所示。
3. 現在需要將樣本中的原始數據替換為自己的字段數據。
現在您已經創建了一個郵寄列表表。 請繼續申請 發電子郵件 根據您創建的字段從 Excel 發送電子郵件的功能。
如果您想免費試用(30天)此實用程序, 請點擊下載,然後按照上述步驟進行操作。
5.2 輕鬆發送電子郵件,包括您在郵件列表中創建的字段
創建郵件列表後(點擊了解如何) 包含您在電子郵件中可能需要的字段,您現在可以使用這些字段從 Excel 發送電子郵件。
1.選擇整個郵件列表,點擊 Kutools 加 > 發電子郵件.
2。 在裡面 發電子郵件 對話框,請進行以下配置。
3.然後 Excel的Kutools 彈出對話框告訴您發送了多少封電子郵件,單擊 OK 按鈕關閉此對話框。
保養竅門:您可以轉到 發送的郵件 Outlook 中的文件夾以檢查您發送的電子郵件。
5.3 輕鬆發送帶有 HTML 正文的電子郵件(包括超鏈接、圖片等)
此發送電子郵件功能允許您構建 html 電子郵件,其中包括超鏈接、圖像、不同的字體大小和字體顏色等。
當你 配置發送電子郵件對話框,您可以使用工具欄上的選項使正文內容豐富。
請參閱下面的屏幕截圖:
5.4 發送郵件時輕鬆插入 Outlook 默認簽名
在上述方法中,我們演示了一個 VBA 代碼來幫助您發送帶有 Outlook 默認簽名的電子郵件。 使用發送電子郵件功能,您只需選中一個選項,然後 Outlook 默認簽名將插入您從 Excel 發送的電子郵件中。
时间 配置發送電子郵件對話框,你需要點擊 選項 > 使用Outlook的簽名設置.
備註: 請確保在使用 Outlook 的簽名設置選項前顯示複選標記。
當收件人收到電子郵件時,他們可以看到電子郵件正文末尾顯示的 Outlook 默認簽名。
5.5 從指定的電子郵件帳戶輕鬆發送電子郵件
要使用特定電子郵件帳戶從 Excel 發送電子郵件,而不是使用默認帳戶,發送電子郵件功能也可以幫助輕鬆完成。
时间 配置發送電子郵件對話框,你需要點擊 選項 > 來自,然後單擊您需要從中發送電子郵件的電子郵件帳戶。
備註:選擇郵箱賬號後,前面會顯示一個複選標記。
點擊 這裡 了解有關此發送電子郵件功能的更多信息。
如果您想免費試用(30天)此實用程序, 請點擊下載,然後按照上述步驟進行操作。
總之,從 Excel 發送電子郵件在我們的日常工作中非常有用。 本文涵蓋了從 Excel 發送電子郵件的更全面的主題,如果有其他主題或更簡單的解決方案,請發表評論讓我知道。
最佳辦公生產力工具
🤖 | Kutools 人工智慧助手:基於以下內容徹底改變數據分析: 智慧執行 | 生成代碼 | 建立自訂公式 | 分析數據並產生圖表 | 呼叫 Kutools 函數... |
熱門特色: 尋找、突出顯示或識別重複項 | 刪除空白行 | 合併列或儲存格而不遺失數據 | 沒有公式的回合 ... | |
超級查詢: 多條件VLookup | 多值VLookup | 跨多個工作表的 VLookup | 模糊查詢 .... | |
高級下拉列表: 快速建立下拉列表 | 依賴下拉列表 | 多選下拉列表 .... | |
欄目經理: 新增特定數量的列 | 移動列 | 切換隱藏列的可見性狀態 | 比較範圍和列 ... | |
特色功能: 網格焦點 | 設計圖 | 大方程式酒吧 | 工作簿和工作表管理器 | 資源庫 (自動文字) | 日期選擇器 | 合併工作表 | 加密/解密單元格 | 按清單發送電子郵件 | 超級濾鏡 | 特殊過濾器 (過濾粗體/斜體/刪除線...)... | |
前 15 個工具集: 12 文本 工具 (添加文本, 刪除字符,...) | 50+ 圖表 類型 (甘特圖,...) | 40+ 實用 公式 (根據生日計算年齡,...) | 19 插入 工具 (插入二維碼, 從路徑插入圖片,...) | 12 轉化 工具 (數字到單詞, 貨幣兌換,...) | 7 合併與拆分 工具 (高級合併行, 分裂細胞,...) | ... 和更多 |
使用 Kutools for Excel 增強您的 Excel 技能,體驗前所未有的效率。 Kutools for Excel 提供了 300 多種進階功能來提高生產力並節省時間。 點擊此處獲取您最需要的功能...
Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆
- 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
- 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
- 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!