一、对象
Application(程序) - Presentation(演示文稿) - Slide(幻灯片)
1. Application(程序)
创建新的程序对象,并打开一个PPT
Set ppt = New PowerPoint.Application
ppt.Visible = True
ppt.Presentations.Open "D:\VBA\test.ppt"
.Presentations 属性 返回一个代表所有打开演示文稿的集合
Application.Presentations.Open FileName:="D:\VBA\test.ppt" ' 打开test.ppt
Application.Presentations(1).SaveAs "saved" ' 将第一个演示文稿另存为saved.ppt
Application.Presentations("test.ppt").Close ' 关闭test.ppt
.ActivePresentation 属性 返回一个Presentation对象,代表当前加载的演示文稿
MsgBox(Application.ActivePresentation.Path) ' 返回'D:\VBA'
.NewPresentation 属性 返回一个NewFile对象
Application.NewPresentation.Add FileName:="D:\VBA\new.ppt"
' 在“新建项目”任务窗格中添加一项
Application.NewPresentation.Remove FileName:="D:\VBA\new.ppt"
' 在“新建项目”任务窗格中移除所添加的文档
.Run 方法 运行Visual Basic过程
Application.Run MacroName, safeArrayOfParams
' MacroName是待运行过程的名称,safeArrayOfParams是传递给过程的参数
Sub Test(x)
MsgBox(x)
End Sub
Application.Run "Test", x
2.Presentation(演示文稿)
Presentations(index) index可以是演示文稿的名称或索引号,返回一个Presentation对象
Application.Presentations("test") ' 返回test.ppt对象
.Slides 属性 返回一个Slides集合,指定演示文稿中的所有幻灯片
Application.ActivePresentation.Slides.Add 1, ppLayoutTitle ' 添加一张幻灯片
.SaveAs(FileName, FileFormat, EmbedFonts)
FileFormat 可选,默认为ppSaveAsDefault
EmbedFonts 可选,指定是否将TrueType字体嵌入保存的演示文稿中
Application.ActivePresentation.SaveAs "New", ppSaveAsPDF ' 另存为New.pdf
3.Slide(幻灯片)
Slides(index) index可以是幻灯片的名称或索引号,返回单个Slide对象
.Slides.FindBySlideID(index) index是幻灯片索引号,返回单个Slide对象
.Selection.SlideRange(index) index可以是幻灯片的名称或索引号,返回单个Slide对象
ActivePresentation.Slides(test).Layout = ppLayoutTitle ' 设置名为test幻灯片的版式
ActivePresentation.Slides.FindBySlideID(1).Layout = ppLayoutTitle ' 设置ID号为1的幻灯片版式
ActiveWindow.Selection.SlideRange(1).Layout = ppLayoutTitle ' 设置第一张幻灯片的版式
.Copy 方法 将幻灯片复制到剪贴板
ActivePresentation.Slides(1).Copy
.Cut 方法 删除指定对象并将其放到剪贴板
ActivePresentation.Slides(1).Cut
.Paste 将剪贴板上的幻灯片粘贴到Slides集合中
ActivePresentation.Slides.Paste 4 ' 粘贴到第四张幻灯片之前