复制
收藏
提问
简洁
我需要一个可以把EXCEL表中的其中一个sheet作为附件一键发送邮件的VBA代码
0秒前
全网
文档
学术
百科
知识库
回答简洁模式
深入研究一些
一键发送邮件的VBA代码
- VBA代码实现:根据7,您可以使用以下VBA代码将Excel中的一个Sheet作为附件发送邮件。
Sub SendEmailWithSheetAsAttachment()
Dim OutApp As Object
Dim OutMail As Object
Dim strSheetName As String
Dim strFilePath As String
' 设置要发送的Sheet名称
strSheetName = "Sheet1"
' 将Sheet保存为临时文件
strFilePath = Environ("TEMP") & "\" & strSheetName & ".xlsx"
ThisWorkbook.Sheets(strSheetName).Copy
ActiveWorkbook.SaveAs Filename:=strFilePath
ActiveWorkbook.Close
' 设置Outlook应用程序和邮件对象
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
' 设置邮件的收件人、主题和正文
With OutMail
.To = "recipient@example.com"
.Subject = "Attached Sheet"
.Body = "Please find the attached sheet."
.Attachments.Add strFilePath
.Send
End With
' 清理
Kill strFilePath
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
这段代码首先将指定的Sheet保存为一个临时文件,然后创建一个Outlook邮件对象,设置邮件的收件人、主题和正文,并添加刚才保存的文件作为附件,最后发送邮件并清理临时文件。请根据实际情况修改收件人邮箱和Sheet名称。7
你觉得结果怎么样?