形状(未知成员)从Excel粘贴到Powerpoint



我在尝试使用VBA从Excel复制范围并粘贴到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,这让我感到困惑,因为这就是错误表明的问题所在。

我研究了几个问题,没有一个有帮助。他们指出,我需要在粘贴之前首先激活幻灯片,上面的代码将会这样做,但会抛出错误。

谁能建议错误的原因和如何解决这个问题?

我仍然没有设法解决这个问题,但作为一个工作,我使用以下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`

试试这个(从PowerPoint这边):

   Set sld = Application.ActiveWindow.View.Slide
   ws.Range("A1:Y" & lastRow).Copy
   sld.Shapes.PasteSpecial DataType:=ppPasteHTML

最新更新