2017-01-23 157 views
0

我有一些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 

回答

1

如果更改行:

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其他选项。

+0

多数民众赞成 - 辉煌 - 谢谢。快速的问题,我如何使用VBA在Powerpoint中安排表的位置和大小? – Superhans

+0

查看http://stackoverflow.com/questions/20753305/setting-an-objects-position-in-powerpoint-using-vba – CLR

相关问题