首页 > 解决方案 > 电子邮件附件为空白

问题描述

我正在尝试使用 VBA 将文件附加到 Outlook,但是我的代码似乎总是附加一个空白文件。

该代码当前将工作簿保存在预定义的路径中,然后添加一个与 Outlook 附件同名的文件,但附加的文件是空白的,我不知道为什么。这个“空白”文件似乎没有被代码保存在任何地方,所以不确定它来自哪里。

Dim NewWkb As Workbook
Dim OutApp As Object
Dim OutMail As Object
Dim i As Long
Dim COB As Variant
    COB = Range("B16").Value
    COB = Format(COB, "DD_MMM_YYYY") 

Application.DisplayAlerts = False
Set NewWkb = Workbooks.Add
NewWkb.SaveAs "C:\Users\Documents\BS_Spray " & COB
For i = 2 To ThisWorkbook.Worksheets.Count
ThisWorkbook.Sheets(i).Copy NewWkb.Worksheets(NewWkb.Worksheets.Count)
Next
Sheets("sheet1").Delete
Application.DisplayAlerts = True

Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)

On Error Resume Next

With OutMail
    .To = ""
    .CC = " "
    .Subject = "SL Utility B/S Report " & J
    .Body = "Hi all," & vbNewLine & vbNewLine & "Please see attached  " & J
    .Attachments.Add NewWkb.FullName
    .Display
End With
On Error GoTo 0

Set OutMail = Nothing
Set OutApp = Nothing

标签: excelvbaoutlook

解决方案


你应该通过 "C:\Users\Documents\BS_Spray " & COB.Attachments.Add


推荐阅读