如何在PowerPoint中使用VBA将OLE对象附加到Outlook电子邮件
我在PowerPoint幻灯片中嵌入了一个OLE对象,我正在尝试制作一个宏,该宏将打开Outlook,并自动将OLE对象添加为附件 OLE对象(pdf)是使用普通的“插入>对象>从文件创建>显示为图标”方法插入到幻灯片中的,因此它在我要从中启动宏的幻灯片上显示为一个小pdf图标 我已经找到了打开Outlook、显示新邮件以及所有这些的基本VBA,但我无法让附件正常工作。以下是我正在使用的代码:如何在PowerPoint中使用VBA将OLE对象附加到Outlook电子邮件,vba,outlook,powerpoint,email-attachments,Vba,Outlook,Powerpoint,Email Attachments,我在PowerPoint幻灯片中嵌入了一个OLE对象,我正在尝试制作一个宏,该宏将打开Outlook,并自动将OLE对象添加为附件 OLE对象(pdf)是使用普通的“插入>对象>从文件创建>显示为图标”方法插入到幻灯片中的,因此它在我要从中启动宏的幻灯片上显示为一个小pdf图标 我已经找到了打开Outlook、显示新邮件以及所有这些的基本VBA,但我无法让附件正常工作。以下是我正在使用的代码: Sub SendEmailwithAttachment() Dim OutApp As Object
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
Sub-sendmailwithattachment()
Dim OutApp作为对象
将邮件变暗为对象
像弦一样暗的链子
Set-OutApp=CreateObject(“Outlook.Application”)
Set-OutMail=OutApp.CreateItem(0)
strbody=“亲爱的[]:
”和_
“
已附加。
”&_
“
如果您有任何问题,请告诉我。
”&_
“
谢谢你,”
出错时继续下一步
发邮件
.To=“”
.CC=“”
.BCC=“”
.Subject=“”
.HTMLBody=strbody
.Attachments.Add(ActivePresentation.Slides(2).形状(“附件”))
陈列
以
错误转到0
发送邮件=无
设置应用程序=无
端接头
我以前使用了完全相同的代码通过文件路径附加文件,所有操作都非常完美。但是现在我需要将文件嵌入到PowerPoint中,而不仅仅是引导代码从文件路径附加
PowerPoint和Outlook都是2010版
任何帮助都将不胜感激。Outlook对象模型不允许添加嵌入式OLE附件 您可以使用WordEditor方法将oleObect复制/粘贴到Outlook中。Body和htmlBody是使用outlookbody的另外两种方法
当然,链接而不是嵌入的对象可能是另一回事。Dmitry-感谢您的澄清,我没有意识到这一点。有什么解决办法吗?或者我如何实现嵌入文件附件自动化的其他想法?您能将PDF保存为文件吗?然后可以将文件名传递给Attachments.Add.Dmitry-它必须来自嵌入的文件。作为一种解决方法,您认为是否可以暂时保存嵌入的文件,然后将该临时文件用作附件?对不起,我对PowerPoint了解不多。