我是VBA新手。我正在编写代码,将excel中的粘贴图表复制到powerpoint演示文稿的不同幻灯片中。我可以将图表粘贴到ppt的幻灯片1上,但对于第二张图表,我收到一个错误消息:“请求无效。要选择形状,其视图必须处于活动状态。”我请求所有人支持我更正下面的代码:
Sub ExcelAuto()
Dim PPT As PowerPoint.Application
Dim PPTFile As PowerPoint.Presentation
Dim ActiveSlide As PowerPoint.Slide
Set PPT = CreateObject("PowerPoint.Application")
PPT.Visible = True
PPT.Presentations.Open fileName:="Path"
Set PPTFile = PPT.ActivePresentation
PPT.ActiveWindow.ViewType = ppViewSlide
ActiveWorkbook.Sheets("Charts").ChartObjects("Chart 6").CopyPicture
With PPTFile.Slides(1)
.Shapes.Paste.Select
PPT.ActiveWindow.Selection.ShapeRange.Left = 37
PPT.ActiveWindow.Selection.ShapeRange.Top = 127
End With
ActiveWorkbook.Sheets("Charts").ChartObjects("Chart 8").CopyPicture
With PPTFile.Slides(2)
.Shapes.Paste.Select
PPT.ActiveWindow.Selection.ShapeRange.Left = 37
PPT.ActiveWindow.Selection.ShapeRange.Top = 354
End With
Set PPT = Nothing
Set PPTFile = Nothing
Set ActiveSlide = Nothing
End Sub发布于 2014-10-01 19:43:04
使用
ActiveWindow.View.GotoSlide oSlide.SlideIndex要在选择幻灯片上的形状之前激活视图,请执行以下操作:
欲获知更多信息,请访问here。
https://stackoverflow.com/questions/22748853
复制相似问题