Powerpoint:始终以相同的方式格式化特定的文本字符串

Powerpoint:始终以相同的方式格式化特定的文本字符串

在 powerpoint 中(我使用的是 PP2016),是否有一个插件或类似的东西可以识别特定的文本字符串(在任何文本框内)并根据该文本应用格式规则?

伪逻辑:如果文本框包含[某些字符串],则应用一些预定义的格式规则

总结 我的目的:我制作演示文稿来教授会计,我喜欢用不同的颜色突出显示某些帐户名称,以便人们可以轻松地了解帐户的变化方式。例如,我在多张幻灯片中展示了固定工厂间接费用在吸收成本法和变动成本法中的不同处理方式。选择每个我输入“固定间接费用”并将颜色设为红色的实例非常繁琐。

答案1

编辑后在演示文稿上运行此功能以添加您自己的术语和首选颜色。它不会“看到”表格、SmartArt 或组中的文本。

Sub HighlightText()

Dim colTermsAndColors As New Collection
Dim oSld As Slide
Dim oSh As Shape
Dim oRng As TextRange
Dim x As Long
Dim sName As String
Dim lColor As Long

' ADD YOUR TERMS AND COLORS HERE:
colTermsAndColors.Add ("BOB" & "|" & CStr(RGB(255, 0, 0)))
colTermsAndColors.Add ("CAROL" & "|" & CStr(RGB(255, 255, 0)))
colTermsAndColors.Add ("TED" & "|" & CStr(RGB(255, 0, 255)))
colTermsAndColors.Add ("ALICE" & "|" & CStr(RGB(0, 255, 0)))

For Each oSld In ActivePresentation.Slides
    For Each oSh In oSld.Shapes
        If oSh.HasTextFrame Then
        If oSh.TextFrame.HasText Then
            For x = 1 To colTermsAndColors.Count
                sName = Split(colTermsAndColors(x), "|")(0)
                lColor = CLng(Split(colTermsAndColors(x), "|")(1))
                If InStr(UCase(oSh.TextFrame.TextRange.Text), sName) > 0 Then
                    Set oRng = oSh.TextFrame.TextRange.Find(sName)
                    oRng.Font.Color.RGB = lColor
                End If
            Next
        End If
        End If
    Next
Next


End Sub

相关内容