上一节讲到把数据区域自动生成PPT,这一实例是把图表自动生成PPT。
Sub CopyA11ChartsToPresenta()
Dim PP As PowerPoint. Application
Dim PPPres As PowerPoint. Presentation
Dim PPSlide As PowerPoint. SlideDim i As Integer
Sheets ("Slide Data") . Select
If ActiveSheet. Chartobjects. Count <1 Then
MsgBox "No charts existing the active sheet"
Exit Sub
End If
Set PP=New PowerPoint. Application
Set PPPres= PP. Presentations. AddPP. Visible-True
For i- 1 To ActiveSheet. Chartobjects. Count
ActiveSheet. Chartobjects (i) . Chart. CopyPicture Size: =x1Screen, Format:=x1PictureApplication. Wait (Now+ TimeValue("0:00:1"))
ppSlideCount=PPPres. Slides. Count
Set PPSlide= PPPres. Slides. Add (SlideCount + 1, ppLayoutBlank)
PPSlide. Select
PPSlide. Shapes. Paste. Select
PP. ActiveWindow. Selection. ShapeRange. Align msoAlignCenters, True
PP. ActiveWindow. Selection. ShapeRange. Align msoAlignMiddles, True
Next 1
Set PPSlide-Nothing
Set PPPres=Nothing
Set PP-Nothing
End Sub
注意:PowerPoint环境设置参照上一节。
VBA基本知识更新接近尾声,VBA方面如有更具体化需求请评论区留言,依情况根据留言信息增加更新内容。