我一直在寻找可以发送整个工作簿的VBA。
我找到了这个
Sub Mail()
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = "[email protected]"
.CC = ""
.BCC = ""
.Subject = Range("A1").Value
.body = ""
.Attachments.Add ActiveWorkbook.FullName
.send
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
但是打开已发送的邮件时,工作簿全部为空。因此,在使用VBA之前,我必须保存工作簿。
是否有解决方法,因此它只能作为普通文件->保存并发送->以附件形式发送?
我假设您不想保存它,因此请使用[Application.Dialogs MSDN ]] >>
示例1
Option Explicit Public Sub example() Application.Dialogs(xlDialogSendMail).Show _ arg1:="[email protected]", _ arg2:=Range("A1").Value End Sub
示例2 [Workbook.SendMail MSDN]
Option Explicit Public Sub example() ActiveWorkbook.SendMail _ Recipients:=Array("[email protected]", "[email protected]"), _ Subject:=Range("A1").Value End Sub
或在发送前保存工作簿。
示例
ActiveWorkbook.Save .Attachments.Add ActiveWorkbook.FullName .send