Нет способа использовать встроенный в Word Find
, чтобы найти конец строки, которая была сгенерирована автоматическим макетом Word.Единственный вид «конца строки», который можно найти, - это разрыв строки, вставляемый нажатием Shift + Enter.Ручной разрыв строки соответствует специальному символу Find ^l
.
Если вам нужно найти и продолжить до конца строки, вам нужно использовать макрос (VBA).Следующий пример кода делает то, что вам нужно.Обратите внимание, что с кодом в том виде, в котором он стоит , по окончании макроса будет выбрано только последнее вхождение поискового термина.Вам нужно встроить в него искомый конечный результат.
Или просто удалите строки Do While
и Loop
, и макрос найдет первое слагаемое.
Sub FindThenToEndOfLine()
Dim r As Range, rDoc As Word.Range
Dim bFound As Boolean
bFound = True
Set r = ActiveDocument.content
Set rDoc = r.Duplicate
r.Find.ClearFormatting
Do While bFound
With r.Find
.text = "Fedora[0-9][0-9]:[a-z]*[A-Z]*"
.Forward = True
.wrap = wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = True
.MatchSoundsLike = False
.MatchAllWordForms = False
bFound = .Execute
End With
If bFound Then
r.Select
Selection.EndKey Unit:=wdLine, Extend:=True
End If
Loop
End Sub