尝试从Excel复制范围并使用VBA粘贴到Powerpoint时出现问题。
我收到以下错误:Run-time error (80048240) Shapes (unknown member): Invalid request. Clipboard is empty or contains data which may not be pasted here.
使用Excel 2010和Powerpoint 2010在以下代码中引发错误:
ws.Range("A1:Y" & lastRow).Copy
pApp.ActiveWindow.View.GotoSlide 2
pApp.ActiveWindow.Panes(2).Activate
With .Slides(2).Shapes
.PasteSpecial (ppPasteHTML) `<~~~ Error occurs here!`
End With
仅在使用ppPasteHTML
选项或ppPasteDefault
选项时才会出现此情况。
剪贴板肯定不是空的,我可以使用Powerpoint中的粘贴特殊菜单选项手动将范围粘贴为HTML,这让我很困惑,因为这是错误表明问题所在。
我研究了几个问题,其中没有一个有帮助。他们表示我需要在粘贴之前先激活幻灯片,上面的代码会执行,但会抛出错误。
有人可以提出错误原因以及如何解决问题吗?
答案 0 :(得分:0)
我仍然无法解决问题,但作为解决方法,我使用以下mso命令:
ws.Range("A1:Y" & lastRow).Copy
pApp.ActiveWindow.View.GotoSlide 2
pApp.ActiveWindow.Panes(1).Activate
pApp.CommandBars.ExecuteMso ("Paste") '<~~ Pastes as default HTML table`
答案 1 :(得分:0)
试试这个(从PowerPoint方面):
Set sld = Application.ActiveWindow.View.Slide
ws.Range("A1:Y" & lastRow).Copy
sld.Shapes.PasteSpecial DataType:=ppPasteHTML