有一张幻灯片,有n个母版(n>=1),我想用vba在这n个母版里全部都加入一个文本框,文本框里内容是“abcd”,然后把这个文本框置于每个母版的底部
vba怎么写???
第1个回答 2014-12-16
'把下面的代码放到任意一个PPT的模块里,按提示做简单修改(变量定义中的2处),运行就可以了。
sub ChgTheme()
'模板名称,及要修改母版的PPT所在的文档
Dim strThemeName As String, strFolder As String
strThemeName = "D:\Program Files\Microsoft Office\Templates\2052\ContemporaryPhotoAlbum.potx" '母版,修改成自己的吧
strFolder = "C:\Users\lx\Desktop\PPTStudy" '要修改的PPT,修改成自己的吧
Dim pres As Presentation
Dim Fs, oFolder, f1, FColloll, s
Set Fs = CreateObject("Scripting.FileSystemObject")
Set oFolder = Fs.GetFolder(strFolder)
Set FColl = oFolder.Files
For Each f1 In FColl
If f1 Like "*.pptx" Or f1 Like "*.pptm" Then '只对pptx文档处理
If ActivePresentation.Name = f1.Name Then '将主题或设计模板应用于当前演示文稿。
ActivePresentation.ApplyTheme strThemeName
ActivePresentation.Save
ElseIf Left(f1.Name, 2) <> "~$" Then '将主题或设计模板应用于指定的演示文稿
Set pres = Presentations.Open(FileName:=f1, WithWindow:=msoFalse)
pres.ApplyTheme strThemeName
pres.Save
pres.Close
End If
End If
Next
Set pres = Nothing
Set FColl = Nothing
Set oFolder = Nothing
Set Fs = Nothing
End Sub本回答被网友采纳
sub ChgTheme()
'模板名称,及要修改母版的PPT所在的文档
Dim strThemeName As String, strFolder As String
strThemeName = "D:\Program Files\Microsoft Office\Templates\2052\ContemporaryPhotoAlbum.potx" '母版,修改成自己的吧
strFolder = "C:\Users\lx\Desktop\PPTStudy" '要修改的PPT,修改成自己的吧
Dim pres As Presentation
Dim Fs, oFolder, f1, FColloll, s
Set Fs = CreateObject("Scripting.FileSystemObject")
Set oFolder = Fs.GetFolder(strFolder)
Set FColl = oFolder.Files
For Each f1 In FColl
If f1 Like "*.pptx" Or f1 Like "*.pptm" Then '只对pptx文档处理
If ActivePresentation.Name = f1.Name Then '将主题或设计模板应用于当前演示文稿。
ActivePresentation.ApplyTheme strThemeName
ActivePresentation.Save
ElseIf Left(f1.Name, 2) <> "~$" Then '将主题或设计模板应用于指定的演示文稿
Set pres = Presentations.Open(FileName:=f1, WithWindow:=msoFalse)
pres.ApplyTheme strThemeName
pres.Save
pres.Close
End If
End If
Next
Set pres = Nothing
Set FColl = Nothing
Set oFolder = Nothing
Set Fs = Nothing
End Sub本回答被网友采纳