【发布时间】:2018-05-24 16:14:49
【问题描述】:
当我发送没有附件的邮件时,确实有效。
但是当我使用.Attachments.Add ActiveWorkbook.FullName 参数时,它不会发送并一直等待打开 Outlook。
我想在 Outlook 关闭时发送邮件。
我正在使用以下代码:
Sub SendMail()
Dim OutlookApp As Outlook.Application
Dim OutlookMail As Outlook.MailItem
Set OutlookApp = New Outlook.Application
Set OutlookMail = OutlookApp.CreateItem(olMailItem)
With OutlookMail
.To = "address@domain.com"
.CC = ""
.BCC = ""
.Subject = "M"
.BodyFormat = olFormatHTML
.HTMLBody = "Hi, <p> I'm sending this message from Excel using VBA.</p>Please find <strong> M</strong> in life."
.Attachments.Add ActiveWorkbook.FullName
.DeferredDeliveryTime = DateAdd("n", 1, Now)
.Importance = olImportanceHigh
.ReadReceiptRequested = True
.Send
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
关于.DeferredDeliveryTime = DateAdd("n", 1, Now):我希望电子邮件在运行宏后 1 分钟发送。
问候。
这个问题独特的原因:
- StackowerflowQuestion:我上面的代码解决了这个问题,剩下的问题是我在这里关注的发送附件。适当的答案是我强调的是 Outlook 已关闭。
更新
另一个症状是当我运行上面的代码时,try 系统中会显示一个临时图标,并弹出一条消息:"another program is using outlook. to disconnect program and exit outlook..."。
如果重要,也请考虑这一点。
请注意问题在于发送附件。
通过以上代码,解决了关闭outlook时发送邮件的问题。 (在类似问题中提到)
所以在这种情况下,剩下的问题是发送附件(Outlook 已关闭)。
【问题讨论】:
-
关于,我正在搜索并阅读所有类似的问题。我的问题没有重复,因为:问题是在 Outlook 关闭时发送
Attachment,而免费附件的电子邮件已真正发送。这里的重点是发送附件问题。非常感谢您的关注。 -
关于这一点,我加粗,因为注意到类似问题的公认答案。我之前审查过这些类似问题。正如你提到的,我在
Attachment行旁边用ActiveWorkbook.FullName指定了文件路径。 -
只是和你确认一下,你发邮件的时候,excel打开了吗?
-
是的。我现在试试你的答案。因此,当我尝试在打开 Outlook 时发送当前打开的工作簿时,它确实有效。但是当 Outlook 关闭并且我尝试发送附件时,它在打开 Outlook 时一直处于等待状态。
-
在添加附件前使用.Display