[VBA]批量替换PPT里的字体颜色


不知道为什么计组老师的大量课件字体是伤害视力的亮蓝色……看久了眼睛疼,想把颜色替换成保护视力一点的灰色,但是找了N久也没找到在图形界面上直接操作的方法,于是在MSDN上晃了晃,Google了一下,写了个VBA小脚本,只替换选定颜色,这样可以保留红色或者其他颜色的高亮,顺便把让人分心的花花背景也干掉。

 

Sub ReplaceColor()
Dim shape As shape
Dim slide As slide
Dim txt As TextRange
On Error Resume Next

'替换背景颜色为白色
ActivePresentation.SlideMaster.Background.Fill.Solid
ActivePresentation.SlideMaster.Background.Fill.ForeColor.RGB = RGB(255, 255, 255)

For Each slide In ActivePresentation.Slides
   For Each shape In slide.Shapes
      Set txt = shape.TextFrame.TextRange
      For Each sentence In txt.Sentences
        For Each word In sentence.Words
          '把蓝色的文字替换成灰色
          If word.Font.color.RGB = RGB(0, 0, 204) Or word.Font.color.RGB = RGB(0, 0, 122) Then
            With word.Font
              .color.RGB = RGB(40, 40, 40)
            End With
          End If
        Next
      Next
   Next
Next
End Sub

 

 

Before

 

After

我承认我只是在逃避复习计组………………用LP1、LP2、LP3这种标记名的汇编程序简直不想多看一眼好吗!!!

其实还有一点缺陷,不能替换掉表格里的字体……不过真的不能再浪费时间跑去查文档鼓捣了(何况我几乎不会VB=。=) 明晚就考试,复习复习……


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM