如何在PowerPoint中使用VBA将OLE对象附加到Outlook电子邮件

时间:2014-06-05 13:50:09

标签: vba outlook powerpoint email-attachments

我在PowerPoint幻灯片中有一个嵌入的OLE对象,我正在尝试制作一个宏,它将打开Outlook,并将OLE对象自动添加为附件。

使用普通插入>对象>创建文件>显示为图标方法将OLE对象(pdf)插入到幻灯片中,因此它在幻灯片上显示为一个小pdf图标,我想从该图标中启动宏。

我已经找到了用于打开Outlook的基本VBA,显示了一条新消息以及所有这些消息,但我无法让附件工作。这是我正在使用的代码:

Sub SendEmailwithAttachment()

Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String

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

strbody = "Dear []:<br>" & _
          "<br><br>Attached is .<br>" & _
          "<br><br>Let me know if you have any questions.<br>" & _
          "<br><br>Thank you,"

On Error Resume Next

With OutMail
    .To = ""
    .CC = ""
    .BCC = ""
    .Subject = ""
    .HTMLBody = strbody 
    .Attachments.Add (ActivePresentation.Slides(2).Shapes("Attachment"))
    .Display
End With
On Error GoTo 0

Set OutMail = Nothing
Set OutApp = Nothing
End Sub

我以前使用完全相同的代码通过文件路径附加文件,一切都运行良好。但是现在我需要将文件嵌入到PowerPoint中,而不是仅仅指示代码从文件路径附加。

PowerPoint和Outlook都是2010年。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

Outlook对象模型不允许添加嵌入的OLE附件。

答案 1 :(得分:0)

您可以使用WordEditor方法将oleObect复制/粘贴到Outlook中。 Body和htmlBody是另外两种使用Outlook正文的方法。

https://msdn.microsoft.com/en-us/vba/outlook-vba/articles/inspector-wordeditor-property-outlook

当然,链接而不是嵌入的oleObject可能是另一回事。