В тексте, находящемся в Word, выделить цветом и подсчитать слова, содержащие не менее двух повторяющихся букв - VBA

Узнай цену своей работы

Формулировка задачи:

В тексте, находящийся в word 2007, выделить цветом и подсчитать слова, содержащие не менее двух повторяющихся букв. Вот что у меня получилось:
Однако текст выделяется не правильно. Кто может помочь? Как еще вывести в отдельной строке укрупненным шрифтом число выделенных слов.

Решение задачи: «В тексте, находящемся в Word, выделить цветом и подсчитать слова, содержащие не менее двух повторяющихся букв»

textual
Листинг программы
Option Explicit
 
Sub bb()
Dim oWord As Object, s$, i&, j&
On Error GoTo err_col
For Each oWord In ActiveDocument.Range.Words
    With New Collection
        s = Trim$(Replace$(oWord.Text, Chr$(160), "")) '<<< Sasha_Smirnov
        For i = 1 To Len(s)
            .Add 0, Mid$(s, i, 1)
        Next
next_word:
    End With
Next
With ActiveDocument
    .Range.InsertParagraphAfter
    .Range.InsertAfter "Слов с повторяющимися буквами: " & j
    With .Paragraphs(.Paragraphs.Count).Range.Font
        .Size = .Size + 2
    End With
End With
Exit Sub
 
err_col:        'v не цеплять пробел после слова v
ActiveDocument.Range(oWord.Start, oWord.End + (Right$(oWord.Text, 1) = " ")) _
    .HighlightColorIndex = wdBrightGreen
j = j + 1
Resume next_word
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы