VBA错误:需要对象 - 在2007年正常但在2013年没有

时间:2014-06-05 13:38:57

标签: excel vba excel-vba

我有一个宏可以将图表从Excel粘贴到PPT幻灯片。该宏在2007年工作但在2013年出错。如何解决这个问题或强制ppt在2007年开放? (我的电脑上都有。)

它说' Object Required'在第二行。 (看起来粘贴的对象在幻灯片或其他内容中失去了它的选择)

Sheet7.ChartObjects("d1c11").Copy
pptSlide.Shapes.PasteSpecial(DataType:=ppPasteEnhancedMetafile).Select

这就是我打开ppt app的方式。

Dim pptApp As PowerPoint.Application
Set pptApp = New PowerPoint.Application
pptApp.Visible = True
Dim myPPT As PowerPoint.Presentation
pptApp.Presentations.Open filename:=ppt_path

谢谢!

2 个答案:

答案 0 :(得分:1)

您可能需要通过引用添加最新的Powerpoint对象库。或者,您可以像这样使用CreateObject:

Dim pptApp, myPPT
Set pptApp = CreateObject("PowerPoint.Application")
pptApp.Visible = True
Set myPPT = pptApp.Presentations.Open(FileName:=ppt_path)

答案 1 :(得分:0)

Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture
PPSlide.Shapes.PasteSpecial(ppPasteEnhancedMetafile).Select

我在类似的行中遇到错误,它在powerpoint 2013中粘贴4次,然后脚本停止,而在2007年,粘贴已成功完成,控制按照定义的流程进行。