使用VBA将具有可编辑单元格的表格粘贴到使用VBA的Excel中Powerpoint
问题描述:
我有一些VBA可以成功地从Excel复制单元格数据并粘贴到给定模板的给定PowerPoint幻灯片中。使用VBA将具有可编辑单元格的表格粘贴到使用VBA的Excel中Powerpoint
但是,对于粘贴的对象,我无法根据需要选择单个单元格和格式。我假设这是与粘贴类型的工作方式有关 - 我需要将其更改为VBA代码中的粘贴,以便粘贴,以便操作单元格的内容?
如果我手动复制Excel中的一些单元格,然后手动粘贴特殊的“保持源格式化(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/en-us/library/office/ff745158.aspx其他选项。
多数民众赞成 - 辉煌 - 谢谢。快速的问题,我如何使用VBA在Powerpoint中安排表的位置和大小? – Superhans
查看http://stackoverflow.com/questions/20753305/setting-an-objects-position-in-powerpoint-using-vba – CLR