Как изменить цвет текста до двоеточия, а затем изменить текст после двоеточия на другой цвет - PullRequest
1 голос
/ 17 июня 2019

Мне нужно раскрасить текст в текстовом документе (фрагмент кода) красным цветом до двоеточия, затем после двоеточия он должен быть синим до запятой или окончания в каждой строке (или выделении).

Я использовал «выделение» и пытался использовать функцию перемещения, чтобы начать с синего цвета.Но я новичок в VBA, и все учебники сбивают меня с толку относительно того, как сказать ему, когда начинать и заканчивать определенным форматированием.

Я обнаружил, что это может быть полезным, но когда я поставил запятую вместо _ VB, я был недоволен.

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

1 Ответ

0 голосов
/ 17 июня 2019

Если в каждой строке вы ссылаетесь на параграфы в слове, тогда простой код может служить вашей цели

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

Протестировано для достижения того, что я понимаю под вашим требованием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...