我有一些VBA,可以成功地从Excel复制单元格数据并将其粘贴到给定模板的给定PowerPoint幻灯片中。
但是,对于粘贴的对象,我无法根据需要选择单个单元格和格式。我认为这与粘贴类型的工作方式有关-我需要在VBA代码中将其更改为什么才能粘贴,以便可以操纵单元格的内容?
如果我手动在Excel中复制一些单元格,然后在PowerPoint中手动粘贴特殊的“保持源格式(K)”一次,则会得到一个可编辑的表格,可以更改单元格间距,插入新行等。可以使用VBA完成吗?
这是我执行粘贴的代码:
'Opens a PowerPoint Document from Excel
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", Untitled:=msoTrue)
PPapp.Visible = True
Set PPslide = PPpres.Slides(2)
XLws.Range("A1:D16").Copy
PPslide.Shapes.PasteSpecial DataType:=ppPasteOLEObject, Link:=msoFalse
Application.CutCopyMode = False
如果您更改该行:
PPslide.Shapes.PasteSpecial DataType:=ppPasteOLEObject, Link:=msoFalse
至
PPslide.Shapes.PasteSpecial DataType:=ppPasteHTML, Link:=msoFalse
它将范围插入为可编辑HTML,就好像您自己复制/粘贴了该范围一样。
有关其他选项,请参见https://msdn.microsoft.com/zh-cn/library/office/ff745158.aspx。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句