我在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年。
非常感谢任何帮助。
答案 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可能是另一回事。