【发布时间】:2019-04-02 05:55:34
【问题描述】:
我正在尝试使用 Excel VBA 宏将形状从 Powerpoint 演示文稿复制到 Excel 模板。但是,我无法保留原始 Powerpoint 源中的格式。
这是我目前得到的代码
Public Sub test()
Dim PPT As PowerPoint.Application
Dim p As PowerPoint.Presentation
Dim s As Slide
Dim aux_vec as Variant
Dim wkbk as Workbook
Set PPT = CreateObject("PowerPoint.Application")
PPT.Presentations.Open Filename:=src, ReadOnly:=True
Workbooks.Open "template.xlsx", ReadOnly:=True
Set wkbk = ActiveWorkbook
PPT.Activate
Set s = PPT.ActivePresentation.Slides(1) 'Slide to be copied
ReDim aux_vec(s.Shapes.Count)
For i = 1 To s.Shapes.Count
aux_vec(i) = i
Next i
s.Shapes.Range(aux_vec).Copy
Set wks = wkbk.Sheets("Sheet1") 'Destination sheet
wks.Select
wks.Range("C3").Select
wks.PasteSpecial 5 ' <--- Changes theme
End Sub
有什么想法吗?
编辑:修复了 Ryan B 评论后的代码片段。
【问题讨论】:
-
也试过了,但还是有同样的问题
标签: excel vba powerpoint