根据单元格数据保存 Excel 文件,然后使用 Outlook 发送电子邮件

根据单元格数据保存 Excel 文件,然后使用 Outlook 发送电子邮件

我有每个代码来执行上述操作...但我无法让它们一起工作。

我想要的代码:

首先 - 根据单元格 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"

~

最后,.DisplayWith Outmail块内(就在该.Attachments行下方)添加以显示电子邮件而不发送。如果您确实希望它自动发送,.Send也可以添加。

相关内容