3
我试图创建一个Excel宏,它复制在Excel表格上显示的图表,并将它们粘贴到PowerPoint中(粘贴特殊)。我遇到的问题是如何将每张图表粘贴到不同的幻灯片上?我不知道语法所有..使用VBA将Excel图表粘贴到Powerpoint中
这是我迄今(它的工作原理,但它只能粘贴到第一片):
Sub graphics3()
Sheets("Chart1").Select
ActiveSheet.ChartObjects("Chart1").Activate
ActiveChart.ChartArea.Copy
Sheets("Graphs").Select
range("A1").Select
ActiveSheet.Paste
With ActiveChart.Parent
.Height = 425 ' resize
.Width = 645 ' resize
.Top = 1 ' reposition
.Left = 1 ' reposition
End With
Dim PPT As Object
Set PPT = CreateObject("PowerPoint.Application")
PPT.Visible = True
PPT.Presentations.Open Filename:="locationwherepptxis"
Set PPApp = GetObject("Powerpoint.Application")
Set PPPres = PPApp.activepresentation
Set PPSlide = PPPres.slides _
(PPApp.ActiveWindow.Selection.SlideRange.SlideIndex)
' Copy chart as a picture
ActiveChart.CopyPicture Appearance:=xlScreen, Size:=xlScreen, _
Format:=xlPicture
' Paste chart
PPSlide.Shapes.Paste.Select
' Align pasted chart
PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True
PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True
+1但是,为什么不早期绑定? –
Thx Jean-Francois。这是一个公平的问题 - 简短的答案是个人偏好。通常我会延迟绑定,如果自动化的对象的多个版本是可能的,正如我发现用户在问答论坛可以与参考设置斗争。尽管我在重复主插件中使用了早期版本,因为它只绑定到文件脚本库,所以它可以减少运行时间的20%到30%,并且作为插件的一部分,它会自动为用户安装。 – brettdj