首页 > 代码库 > [VBA]批量替换PPT里的字体颜色

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

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

 

Sub ReplaceColor()Dim shape As shapeDim slide As slideDim txt As TextRangeOn Error Resume Next替换背景颜色为白色ActivePresentation.SlideMaster.Background.Fill.SolidActivePresentation.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   NextNextEnd Sub

 

 

Before

 

After

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

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