VBA 字符字体样式

VBA character Font Style

假装我有这样一句话: “这是我的案例:”

":" 是常规的,我想改变它的样式,就像它之前的字符 (E)。但我不知道在这种情况下使用哪个对象。我想找到“:”的索引然后我检查它之前的字符字体样式(索引 - 1)如果它们不同我将改变字符“:”(索引)的字体样式到索引 - 1.
我尝试了 TextFrame.TextRange.Font,但出了点问题。
请帮助我,在此先感谢。

试试这个代码:

Sub test()
    Dim sh As Shape, EF As Font, textLen As Integer
    
    For Each sh In ActivePresentation.Slides(1).Shapes
        If sh.HasTextFrame Then
            textLen = sh.TextFrame.TextRange.Length
            
            If textLen > 1 Then
                Set EF = sh.TextFrame.TextRange.Characters(textLen - 1, 1).Font
                With sh.TextFrame.TextRange.Characters(textLen, 1).Font
                    .Name = EF.Name
                    .Color = EF.Color
                    .Size = EF.Size
                    .Italic = EF.Italic
                    .Bold = EF.Bold
                    .Underline = EF.Underline
                    ' and other required properties
                End With
            End If
        End If
    Next
End Sub