跳到主要内容

别怕,其实 PowerPoint VBA 编程很简单

网上讲 PowerPoint VBA 的很少,但是讲 Excel VBA 的一大堆,由于现版本的 PowerPoint 没有象 Excel 中的宏录制器,所以学习 PowerPoint VBA 编程没有 Excel 直观,很多不懂的代码只有靠搜索或查询 VBA 手册。

其实 Word、PowerPoint、Access 中的 VBA 与 Excel 中大同小异,只是类似“Workbook” 、 “Worksheet” 和 “Range” 等对象不同,另外没有工作表公式等 Excel 独有的功能。不过编程思路都是一样的,如果你学会了 Excel VBA,一边查询微软官方 PowerPoint VBA 参考手册一边就能在 PowerPoint 中写出 VBA 代码。

Excel 和 PPT 对象映射

为了便于理解,将 Excel 和 PPT 中的对象给大家做一个映射:

Workbooks(工作簿集合)<=====> Presentations(演示文稿集合)

Workbook(工作簿)<=====> Presentation(演示文稿)

ActiveWorkbook(活动工作簿)<=====> ActivePresentation(活动幻灯片)

Worksheets(工作表集合)<=====> Slides(幻灯片集合)

Worksheet(一张工作表)<=====> Slide(一页幻灯片)

这个映射关系非常简单非常容易理解。

举个例子

删除 Excel 中的所有单元格注释:

Sub RemoveExcelComments()
    Dim ws As Worksheet
    For Each ws In ActiveWorkbook.Worksheets
        ws.Cells.ClearComments
    Next
End Sub

删除幻灯片中的所有备注:

Sub RemovePPTComments()
    Dim sld As Slide
    For Each sld In ActivePresentation.Slides
        sld.NotesPage.Shapes.Range.Delete
    Next
End Sub

大家可以看到,这两个宏,除了对象名称不一样,其他什么都相同,你只要查询下对象手册完全能写出来!所以说如果你学会了 Excel VBA,自然就会 PowerPoint VBA 了。

评论

您的电子邮件地址不会显示出来。*号为必填项。