将特殊excel粘贴到powerpoint时,在尝试调整大小时会一直提供424对象所需的错误

时间:2014-11-26 01:55:54

标签: vba excel-vba powerpoint-vba excel

因此,我一直在尝试调整以excel开头并使用粘贴特殊方法粘贴到PPT幻灯片的链接图表的大小。不幸的是,我一直在努力进入" 424 Object Required"当我尝试调用设置高度/宽度/等的方法时,无论我做什么都会出错...我从另一个SO帖子中复制/粘贴了这个确切的代码并且错误仍然存​​在,特别是在.height = 200行

Sub CopyDataToPPT()

    Dim objslide
    Dim objRange As Range
    Dim objPPT As PowerPoint.Application
    Dim objPresentation As Presentation
    Dim shapePPTOne As Object


    Set objPPT = CreateObject("PowerPoint.Application")
    Set objPresentation = objPPT.Presentations.Add

    Set objslide = objPresentation.Slides.Add(1, ppLayoutTitleOnly) 'you had inLayout???
    objslide.Shapes.Title.TextFrame.TextRange.Text = "blah blah"

    Sheets("Sheet1").Range("C6:G22").Copy
    DoEvents

    Set shapePPTOne = objslide.Shapes.PasteSpecial( _
                DataType:=ppPasteEnhancedMetafile, Link:=msoFalse)

    With shapePPTOne
        .Height = 200
        .Left = 50
        .Top = 100
    End With

    Application.CutCopyMode = False

End Sub

Excel / PPT / VBA引用已全部到位并经过双重检查,我已尝试切换订单/优先级。错误发生在所有运行excel / PPT 2013的多台计算机上。我尝试过多次修改此代码但仍然遇到错误,导致我认为它可能不是真正的代码本身。我还读到它通常只是更容易调整excel中的列/行,但在我的情况下,我需要在powerpoint幻灯片上以非常特定的方式发布图表。任何人可以提供的帮助将不胜感激!

*编辑 - 还要指出粘贴和调整高度/宽度/等...只需使用简单的粘贴方法就可以正常工作

1 个答案:

答案 0 :(得分:1)

想出来......解决方案很简单.Height = 200应该是shapePPTOne(1).Height = 200