【发布时间】:2022-06-21 04:10:12
【问题描述】:
我正在尝试创建工作表的副本并仅将副本作为附件通过电子邮件发送。它不会附加ActiveWorkbook,我认为是因为它从未保存过,所以它在一个临时位置。
如果我使用Activeworkbook.Path,它会给出文件名,而不是完整路径。
如果我使用ThisWorkbook.Path,它会给出我从中创建副本的工作簿的路径,而不是副本本身。
Sub DemandEM()
Dim OutApp As Object
Dim Outmail As Object
Dim Subject As String
Dim Body As String
Dim Attachment As String
Subject = "DMND NP" & Sheets("Loading").Cells(4, 2).Value
Body = "Please see attachment for NP" & Sheets("Loading").Cells(4, 2).Value
Sheets("Demand Input").Copy
Attachment = ActiveWorkbook.Path
Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
Set Outmail = OutApp.CreateItem(0)
With Outmail
.to = "ABC@123.com"
.Subject = Subject
.Body = Body
.Attachments.Add (Attachment)
.Display
End With
End Sub
【问题讨论】:
-
将文件保存在例如 Temp 文件夹中?
-
您可以使用
environ("temp")访问临时文件夹 -
未保存的工作簿没有路径。您必须将其保存在某处并提供其全名。