【发布时间】:2014-11-26 19:09:54
【问题描述】:
所以我一直在尝试调整从 excel 开始并使用特殊粘贴方法粘贴到 PPT 幻灯片的链接图表的大小。不幸的是,无论我在尝试调用设置高度/宽度/等的方法时做什么,我都会一直遇到“需要 424 个对象”错误...我从另一个 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 幻灯片上。任何人可以提供的帮助将不胜感激!
*EDIT - 还想指出粘贴和调整高度/宽度/等..仅使用简单粘贴方法时效果很好
【问题讨论】:
标签: vba excel powerpoint