【发布时间】:2016-03-07 09:32:33
【问题描述】:
所以我的问题是: 我想在 250 多个演示文稿(文件)中更改文本形状的颜色。 如果演示文稿处于活动状态并打开,我可以这样做:
Sub ChangeShapeColor()
Dim oSh As Shape
Dim oSl As Slide
Dim prs As Presentation
For Each prs In Presentations
For Each oSl In ActivePresentation.Slides
For Each oSh In oSl.Shapes
If oSh.Fill.ForeColor.RGB = RGB(84, 133, 192) Then
oSh.Fill.ForeColor.RGB = RGB(0, 51, 204)
oSh.Fill.Transparency = 0.4
End If
If oSh.Fill.ForeColor.RGB = RGB(202, 24, 24) Then
oSh.Fill.ForeColor.RGB = RGB(212, 10, 10)
oSh.Fill.Transparency = 0.4
End If
Next oSh
Next oSl
Next prs
End Sub
但是,所有文件都存储在一个文件夹中,然后是多个子文件夹。
如何调整代码,使 vba 在循环中逐步打开特定文件夹 C://xyz/xyx/presentations 中的所有其他演示文稿,执行子程序并保存它?
提前致谢
【问题讨论】:
-
您应该考虑接受以下答案。见What should I do when someone answers my question。
标签: vba loops powerpoint