【发布时间】:2015-03-18 05:57:51
【问题描述】:
我有一个 150 张幻灯片的演示文稿,由于公司品牌重塑工作,我想对其进行修改。我们之前的绿松石色已用于文本、线条、形状和形状填充。我想构建一个贯穿整个演示文稿的 VBA 脚本,并且一举修改所有幻灯片并用我们新的深灰色替换这种蓝色。
旧的公司颜色是 RGB(0, 176, 240) - 青绿色
新的企业颜色是 RGB(71, 67, 65) - 深灰色
我在互联网上尝试了多种不同的 vba,但无法使其正常工作。这是旧颜色的典型幻灯片的屏幕截图 - 所有蓝色项目都应更改为深灰色:
来自一位乐于助人的论坛成员的这段 VBA 代码非常适合用于形状填充 - 如果可以对其进行重新设计以包含任何文本和形状轮廓和线条,那将是完美的。
Sub ChangeShapeColor()
Dim oSh As Shape
Dim oSl As Slide
' Look at each slide in the current presentation:
For Each oSl In ActivePresentation.Slides
' Look at each shape on each slide:
For Each oSh In oSl.Shapes
' IF the shape's .Fill.ForeColor.RGB = turqoise color:
If oSh.Fill.ForeColor.RGB = RGB(0, 176, 240) Then
' Change it to corporate dark grey:
oSh.Fill.ForeColor.RGB = RGB(71, 67, 65)
End If
Next oSh
Next oSl
End Sub
提前致谢,
【问题讨论】:
-
您需要替换所有内容,包括文本和形状?图片怎么样?我相信那些是图片?
-
图像是白色轮廓图像/徽标,位于正常的 powerpoint 形状内,填充/轮廓为蓝色。这是我想改变的蓝色。圆圈和“辐条”也是我想要新颜色的普通幻灯片线。基本上,该屏幕截图上的所有蓝色都是我想要更改的。
-
到目前为止您尝试了哪些操作,哪些操作不正常?不应该发生的事情,不应该发生的事情?并作为建议:考虑使用主题颜色而不是 RGB 编码颜色;那么以后你需要做的就是改变它们,PPT会自动重新着色分配给该主题颜色的任何东西。
-
主题颜色的好主意,感谢您的提示。我将在答案中添加对我有用的 VBA 代码 - 感谢您的建议。
标签: vba powerpoint powerpoint-2013