将未保存的Excel文件附加到电子邮件VBA

我build立了一个excel表格供用户填写,然后作为附件发送(不必将其保存在本地计算机上)。 代码相当简单,但像魅力一样。

Dim Names() Names = Array("testmail@gmail.com") ActiveWorkbook.SendMail _ Recipients:=Names(), _ Subject:="Test subject" 

我的问题是,现在我实际上不喜欢发送的电子邮件,只是创build,直到用户已附加一个额外的文件(在本地计算机上find)。 我为特定任务编写了以下代码:

 Dim olapp As Object Dim olmail As Object Dim wb As Workbook Set olapp = CreateObject("outlook.application") Set olmail = olapp.CreateItem(olMailItem) Set wb = ActiveWorkbook With olmail .To = "testmail@gmail.com" .Subject = "Test Subject" .Body = "" .Attachments.Add wb.FullName .Display 

在这种情况下,我的问题是,只有最新保存的副本将被附加到创build的电子邮件,并且由于表单的用户将没有forms/ excel文件本地存储在他们的计算机上,一个空表单(或上次保存表格)将被附加到电子邮件。 有没有办法重新编写上面的任何一个代码来创build一个电子邮件与工作簿的副本,但实际上并没有发送它?

提前致谢!