Excel VBA 2010问题,粘贴到Powerpoint后select并移动表格

我有下面的代码,我在网上find复制粘贴从excel tpoint到powerpoint。 将表格粘贴到幻灯片中后,在PPSlide.Shapes(1).Select上失败。 PPSlide.Shapes(1).Select运行时错误“-2147188160(80048240)”:Shape.Select:取消请求。 要select一个形状,其视图必须是活动的。 我一直在寻找和尝试不同的东西,但似乎无法弄清楚..我认为粘贴后,表将是积极的,代码将继续但除非我激活/select表幻灯片,然后单击运行。 任何帮助表示赞赏。 谢谢。

 Dim pp As Object Dim PPPres As Object Dim PPSlide As Object Dim Rng As Range DestinationPPT = "C:\Users\username\Desktop\Data_Display.pptx" Set pp = CreateObject("PowerPoint.Application") Set PPPres = pp.Presentations.Open(DestinationPPT) pp.Visible = True Set Rng = ActiveSheet.Range("CA1:CJ" & Count + 1) Rng.Copy SlideCount = PPPres.Slides.Count Set PPSlide = PPPres.Slides.Add(SlideCount, 12) pp.ActivePresentation.Application.CommandBars.ExecuteMso ("PasteSourceFormatting") PPSlide.Shapes(1).Select pp.ActiveWindow.Selection.ShapeRange.Align msoAlignTops, True pp.ActiveWindow.Selection.ShapeRange.Top = 65 pp.ActiveWindow.Selection.ShapeRange.Left = 7.2 pp.ActiveWindow.Selection.ShapeRange.Width = 700 Set PPSlide = Nothing Set PPPres = Nothing Set pp = Nothing 

试试下面的代码:

 Set pp = CreateObject("PowerPoint.Application") Set ppPres = pp.Presentations.Open(DestinationPPT) pp.Visible = True ' first set the Slide and select it SlideCount = ppPres.Slides.Count Set ppSlide = ppPres.Slides.Add(SlideCount, 12) ppSlide.Select ' have the Copy part right beofre youe Paste it to PowerPoint Set Rng = ActiveSheet.Range("CA1:CJ" & Count + 1) Rng.Copy pp.ActivePresentation.Application.CommandBars.ExecuteMso ("PasteSourceFormatting") Dim myShape As Object ' set up the Pasted shape to an object Set myShape = ppSlide.Shapes(ppSlide.Shapes.Count) With myShape ' set-up the shape properties End With