如何将颜色文本更改为冒号,然后将冒号之后的文本更改为其他颜色

时间:2019-06-17 19:52:23

标签: vba ms-word

我需要将单词文档(代码片段)中的文本涂成红色,直到冒号为止,然后在冒号之后它必须变成蓝色,直到每行(或选择)中的逗号或结束括号为止。

我一直在使用“选择”,并尝试使用移动功能以蓝色开始。但是我是VBA的新手,所有教程都让我感到困惑,如何告诉它何时以特定格式启动和停止。

我发现我以为这可能会有所帮助,但是当我输入逗号而不是_ VB时,我对此感到不满意。

Selection.MoveRight Unit:=wdCharacter, Count:=1, _ 
Extend:=wdExtend

1 个答案:

答案 0 :(得分:0)

如果您在每一行中都用单词来引用段落,那么简单的代码可能会达到您的目的

Sub TestColorPara()
Dim Para As Paragraph, Rng As Range, ColonAt As Long, CommaAt As Long

For Each Para In Selection.Paragraphs
Ln = Para.Range.Characters.Count
    If Ln > 1 Then
    ColonAt = InStr(1, Para.Range.Text, ":")
        If ColonAt > 0 Then
        Set Rng = ActiveDocument.Range(Start:=Para.Range.Start, End:=Para.Range.Start + ColonAt)
        Rng.Font.Color = wdColorRed

        CommaAt = InStr(ColonAt, Para.Range.Text, ",")
        CommaAt = IIf(CommaAt > 0, CommaAt, Ln - 1)
        Set Rng = ActiveDocument.Range(Start:=Para.Range.Start + ColonAt, End:=Para.Range.Start + CommaAt)
        Rng.Font.Color = wdColorBlue
        End If
    End If
Next
End Sub

经过测试可以达到您的理解。