我有每个代码来执行上述操作...但我无法让它们一起工作。
我想要的代码:
首先 - 根据单元格 C:6 保存 excel 文件
第二步 - 在 Outlook 中自动起草电子邮件
第三 - 但我不想让它自动发送,我只希望它打开草稿并弹出供用户查看。
这是我目前所拥有的:
Sub SendEmail()
Name = Range("C6").Value
ActiveWorkbook.SaveAs Filename:=Name
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 = "example email"
.CC = ""
.BCC = ""
.Subject = "Form"
.Body = "Test"
.Attachments.Add ActiveWorkbook.FullName
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
任何帮助都将不胜感激。谢谢!
答案1
看起来你离解决方案已经很近了!以下是我能看到的一些情况。
~
最好在这个语句中定义你的范围:
Name = Range("C6").Value
相反,做这样的事情:
Name = ThisWorkbook.Sheets("MySheet").Range("C6").Value
~
接下来,您应该定义文件的路径以将其附加到电子邮件中。而不是这样:
.Attachments.Add ActiveWorkbook.FullName
做这个:
.Attachments.Add "C:\Users\Bob\...\Work_Documents\" & Name & ".xlsx"
~
最后,.Display
在With Outmail
块内(就在该.Attachments
行下方)添加以显示电子邮件而不发送。如果您确实希望它自动发送,.Send
也可以添加。