При использовании range.find для поиска полужирного текста, он не найдет, если весь выделенный текст выделен жирным шрифтом! - PullRequest
2 голосов
/ 10 июня 2009

Я пытаюсь извлечь жирный текст, используя метод range.find, и все выглядит превосходно, за исключением случаев, когда весь диапазон на самом деле жирный (маловероятно, что это произойдет, это скорее условие края).

With rngFindRange.Find
.ClearFormatting
.Font.Bold = True
Do
    .Execute

    If Not .Found Then
         Exit Do
    End If

    'do something with found text'

    Set rngFindRange = ActiveDocument.Range(rngFindRange.End + 1, Selection.End)

Loop

Вышеуказанное соответствует жирному тексту в начале или в конце, даже в обоих случаях, но не тогда, когда весь диапазон выделен жирным шрифтом. Я думаю, что мне, возможно, придется проверить range.font.bold = true, прежде чем искать в диапазоне. О чем думает stackoverflow?

1 Ответ

6 голосов
/ 11 июня 2009

Это должно найти любой жирный текст:

Sub SearchBoldText()
    Dim rng As Range
    Set rng = ThisDocument.Range(0, 0)
    With rng.Find
        .ClearFormatting
        .Format = True
        .Font.Bold = True
        While .Execute
            rng.Select
            rng.Collapse direction:=wdCollapseEnd
        Wend
    End With
    Set rng = Nothing
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...