在VBA中将Powerpoint Shaperange变量设置为Pastespecial方法

时间:2015-05-06 18:33:22

标签: excel vba powerpoint

我正在使用此代码将Excel中的数据粘贴到Powerpoint中作为图片。

    PPSlide.Shapes.PasteSpecial DataType:=ppPasteMetafilePicture
    'Where PPSlide is a `PowerPoint.Slide` object that was previously set
    'For your info, I am using late binding.

问题在于,由于某些原因,在上面的PasteSpecial行之后,当Excel代码尝试引用应从此代码返回的结果ShapeRange对象时,Excel宏的某些用户会出错。错误出现在这样的行上:

    PPApp.ActiveWindow.Selection.ShapeRange.Height = dHeight
    'Where PPApp is a PowerPoint.Application object using late binding

当我回顾PowerPoint幻灯片时,我可以看到粘贴的Shape对象未被选中。它只发生在一些用户身上。在我的机器上,在PasteSpecial之后选择了形状对象。我想也许我可以像ShapeRange那样定义一个PasteSpecial对象:

    Set PPShapeRange = PPSlide.Shapes.PasteSpecial(DataType:=ppPasteMetafilePicture)

但这不起作用。我在这一行上收到错误。有什么想法吗?

0 个答案:

没有答案