我是论坛的新手,还有几个月的VBA新手。我的所有编码经验都在Matlab中,到目前为止,我发现它比VBA更容易。我已经阅读了论坛规则,并搜索了这个答案的高低,但无济于事。
我正在尝试将不同的Excel范围粘贴到PowerPoint的不同幻灯片中。我想修改下面的代码(从不同论坛答案的snipets中获取),以便将范围粘贴到相应的PowerPoint幻灯片中我表示,无论活动幻灯片是什么。我试过“gotoslide “这不起作用,并使用了ppviewnormal,但这也行不通。然后,将针对不同幻灯片上的不同范围重复此代码。到目前为止,代码只有在我编写的幻灯片上才有效,我知道它与有关幻灯片的问题有关,但似乎无法弄清楚如何修改代码。提前感谢您的帮助!
' Desired Range in Excel to be copied into ppt
Sheets("Summary").Activate
Range("A5:H40").Select
' Initialize PowerPoint Object Library
Set PPApp = GetObject(, "Powerpoint.Application")
' Reference active presentation
Set PPPres = PPApp.ActivePresentation
PPApp.ActiveWindow.ViewType = ppViewSlide
' Denote slide where range is to be copied
Set PPSlide = PPPres.Slides(5)
' Copy the range as a picture
Selection.CopyPicture Appearance:=xlScreen, _
Format:=xlPicture
' Paste the range
PPSlide.Shapes.Paste.Select
答案 0 :(得分:3)
从最后一行删除“.Select”
这是您的代码的缩写版本:
' Initialize PowerPoint Object Library
Set PPApp = GetObject(, "Powerpoint.Application")
' Reference active presentation
Set PPPres = PPApp.ActivePresentation
' Copy the range as a picture
Sheets("Summary").Range("A5:H40").CopyPicture Appearance:=xlScreen, Format:=xlPicture
' Paste the range
PPPres.Slides(1).Shapes.Paste