使用VBA批量替换PPT中的文字颜色

您所在的位置:网站首页 批量处理ppt文本框的字体颜色 使用VBA批量替换PPT中的文字颜色

使用VBA批量替换PPT中的文字颜色

2024-06-16 02:14| 来源: 网络整理| 查看: 265

        有一个几百页的ppt,领导要求把褐色RGB(102, 51, 0)的文字,全部修改为黑色RGB(0, 0, 0),去掉加粗。使用AI生成了代码,自己调试了一下。表面很简单,难度在于一个文本框内有多种颜色的字体,即同一个文本框内有几种不同颜色的字。

       VBA帮忙快速完成了任务,提前下班,特此记录。

Sub ChangeBrownTextToBlack() Dim sld As Slide Dim shp As Shape Dim rng As TextRange Dim i As Long, j As Long Dim charColor As RGBColor Dim charFont As Font ' 遍历所有幻灯片 For Each sld In ActivePresentation.Slides ' 遍历幻灯片中的所有形状 For Each shp In sld.Shapes ' 检查形状是否包含文本 If shp.HasTextFrame Then ' 获取文本范围 Set rng = shp.TextFrame.TextRange ' 如果文本包含多个段落,遍历每个段落 If rng.Paragraphs.Count > 1 Then For i = 1 To rng.Paragraphs.Count ' 获取段落文本范围 Set rng2 = rng.Paragraphs(i) ' 遍历段落中的每个字符 For j = 1 To rng2.Characters.Count ' 检查字符颜色是否为褐色) If rng2.Characters(j).Font.Color.RGB = RGB(102, 51, 0) Then ' 获取字符的字体对象 Set charFont = rng2.Characters(j).Font rng2.Characters(j).Font.Bold = msoFalse ' 将字符颜色更改为黑色 rng2.Characters(j).Font.Color.RGB = RGB(0, 0, 0) End If Next j Next i Else ' 如果只有一个段落,则直接遍历字符 For j = 1 To rng.Characters.Count If rng.Characters(j).Font.Color.RGB = RGB(102, 51, 0) Then Set charFont = rng.Characters(j).Font rng.Characters(j).Font.Bold = msoFalse charFont.Color.RGB = RGB(0, 0, 0) End If Next j End If End If Next shp Next sld End Sub



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3