因此,我一直在尝试调整以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幻灯片上以非常特定的方式发布图表。任何人可以提供的帮助将不胜感激!
*编辑 - 还要指出粘贴和调整高度/宽度/等...只需使用简单的粘贴方法就可以正常工作
答案 0 :(得分:1)
想出来......解决方案很简单.Height = 200应该是shapePPTOne(1).Height = 200