我有一个Excel表单供用户填写并作为附件发送(无需在本地保存在他们的计算机上)。
代码有效。
Dim Names()
Names = Array("testmail@gmail.com")
ActiveWorkbook.SendMail _
Recipients:=Names(), _
Subject:="Test subject"
我希望创建该电子邮件,直到用户附加了其他文件(在本地计算机上找到)之后才会发送。
我写了以下代码:
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
我的问题是,只有最新保存的副本将附加到创建的电子邮件中,并且由于用户不会在其计算机上本地存储表单/ Excel文件,因此空表单(或上次保存的表单)将是附在电子邮件上。
是否可以使用工作簿的副本创建电子邮件,但不能发送电子邮件?
答案 0 :(得分:0)
我在立即窗口中尝试了这种单行代码,它设法发送了一个未保存的文件:Application.Workbooks("Book2").SendMail("my.email@company.com","Test Subject")
您可以在代码中使用wb代替我的示例中的Application.Workbooks(“ Book2”)。请注意,这将发送电子邮件,而无法对其进行编辑。