[英]Paste a range from Excel into certain slide of Powerpoint Template using VBA
我花了好几个小时查看针对我的问题的各种建议解决方案,但找不到任何似乎可以完成工作的东西,或者更有可能的是,我对 VBA 的掌握是了解我理解在线解决方案的能力。 因此,我希望你们中的一位能帮助我解决问题。
我打开了一个 Excel 工作表,其中包含少量数据(标题和数字等)
我想复制此范围并将其粘贴(不是作为图片,如果需要,我希望能够在 powerpoint 中对其进行格式化)在我已经创建的 Powerpoint 模板中的特定幻灯片(幻灯片 2)上。
我的 VBA 使用以下代码正确打开基于模板的新演示文稿:
'Opens a PowerPoint Document from Excel
Dim objPPT As Object
Set objPPT = CreateObject("PowerPoint.Application")
objPPT.Visible = True
'Change the directory path and file name to the location
'of your document
objPPT.Presentations.Open "C:\Users\Colin\Dropbox (Edge45)\Edge45 Team Folder\Edge45 Company Documents\Templates\Powerpoint Templates\Edge45 Audit Template Macro.potm", Untitled:=msoTrue
但是,这就是我卡住的地方 - 我不知道如何在演示文稿打开后将 Excel 表格数据粘贴到正确的幻灯片中。 我的数据在 A1:D16 范围内
非常感谢你提前
试试这个。 我已将 Excel 工作表分配给一个变量 ( XLws
),并将 PowerPoint 幻灯片分配给另一个变量 ( PPslide
)。 您可以在它们之间复制/粘贴对象。
顺便说一句,您需要启用 PowerPoint 库。 如果不这样做,请在 VBA 项目中转到Tools -> References -> Microsoft PowerPoint 15.0 Object Library 。
Sub PPcopy()
Dim PPapp As PowerPoint.Application, PPpres As PowerPoint.Presentation, PPslide As PowerPoint.Slide
Dim XLws As Worksheet
Set XLws = ActiveSheet
Set PPapp = New PowerPoint.Application
Set PPpres = PPapp.Presentations.Open("C:\Users\Colin\Dropbox (Edge45)\Edge45 Team Folder\Edge45 Company Documents\Templates\Powerpoint Templates\Edge45 Audit Template Macro.potm")
PPapp.Visible = True
Set PPslide = PPpres.Slides(2)
XLws.Range("A1:D16").Copy
PPslide.Shapes.PasteSpecial DataType:=ppPasteOLEObject, Link:=msoFalse
Application.CutCopyMode = False
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.