【发布时间】:2018-08-01 13:51:19
【问题描述】:
我正在编写 VBA 代码以将粘贴图表从 excel 复制到 PowerPoint。我的代码将首先从 PowerPoint 幻灯片中删除现有图表,然后再从 Excel 中复制粘贴图表。
不幸的是,某些图表在 PowerPoint 中被命名为“Content Placeholder xx”,因为演示文稿中的现有图表不会被删除。由于内容占位符可以是表格/现成的形状/图表,如何测试内容占位符是图表还是其他形状?
任何指导将不胜感激
Sub Powerpoint_Slide_MoveChart()
'// General declaration
Dim ppt As PowerPoint.Application
Dim ActiveSlide As PowerPoint.Slide
Dim Cht As ChartObject
Dim i As Integer
'// Set powerpoint application
Set ppt = GetObject(, "PowerPoint.Application")
'// Check if more then single powerpoint open
If ppt.Presentations.Count > 1 Then
MsgBox "Please close all other powerpoints except the one you would like to puiblish."
Exit Sub
End If
'// Set active slide as slide 9
Set ActiveSlide = ppt.ActivePresentation.Slides(9)
ppt.ActiveWindow.View.GotoSlide (9)
Set Cht = ActiveSheet.ChartObjects("ChartSlide9")
'// Delete existing chart
For i = 1 To ActiveSlide.Shapes.Count
If Left(UCase(ActiveSlide.Shapes(i).Name), 5) = "CHART" Then
ActiveSlide.Shapes(i).Delete
Exit For
End If
Next i
End Sub
【问题讨论】:
-
您知道如何将图表从 Excel 复制/粘贴到 Powerpoint 吗?
标签: vba excel powerpoint