Я не могу придумать подходящий шаблон (наверное, это должно быть [!]
) что исключило бы из выражения
argument[oales]{1,4}
следующие три слова
аргумент ос
аргумент а
аргумент как
Другими словами, я хотел бы найти только следующие три слова
аргумент о
аргумент аль
аргумент эль
так что, возможно, это аргумент выражения argument[oales]{1,4}
который не подходит для начала.
Обратите внимание, что я на самом деле пытаюсь найти «шаблонное выражение», чтобы использовать его с любым другим морфологическим словом family; Таким образом, эти три слова являются просто примерами.
Я бы использовал этот шаблон в макросе и, возможно, в опции «Найти и заменить» для реализации замен в пакете.
В противном случае, какой-нибудь надстройка или сторонний программный инструмент поиска и замены выполнят эту работу?
Обновить
Вот макрос, который я использую.
Sub ReplaceFromTableList()
Dim oChanges As Document, oDoc As Document
Dim oTable As Table
Dim oRng As Range
Dim rFindText As Range, rReplacement As Range
Dim i As Long
Dim sFname As String
Dim sAsk As String
sFname = "C:\Users\Win7\Desktop\macro.docx" 'The table document
Set oDoc = ActiveDocument
Set oChanges = Documents.Open(FileName:=sFname, Visible:=False)
Set oTable = oChanges.Tables(1)
For i = 1 To oTable.Rows.Count
Set oRng = oDoc.Range
Set rFindText = oTable.Cell(i, 1).Range
rFindText.End = rFindText.End - 1
Set rReplacement = oTable.Cell(i, 2).Range
rReplacement.End = rReplacement.End - 1
With oRng.Find
.ClearFormatting
.Replacement.ClearFormatting
Do While .Execute(FindText:=rFindText, _
MatchCase:=True, _
MatchWholeWord:=True, _
MatchWildcards:=True, _
Forward:=True, _
Wrap:=wdFindStop) = True
oRng.Select
'oRng.FormattedText = rReplacement.FormattedText
oRng.Text = rReplacement.Text
oRng.Collapse wdCollapseEnd
Loop
End With
Next i
oChanges.Close wdDoNotSaveChanges
lbl_Exit:
Exit Sub
End Sub
При отладке после Runtime Error 5692, следующий раздел макроса
Do While .Execute(FindText:=rFindText, _
MatchCase:=True, _
MatchWholeWord:=True, _
MatchWildcards:=True, _
Forward:=True, _
Wrap:=wdFindStop) = True
отображается желтым цветом, выбранным Microsoft Word.