Как использовать VBA для поиска списка слов и фраз в документе Word и выделения их? - PullRequest
0 голосов
/ 06 июня 2018

Итак, у меня есть большой список слов и фраз, которые не должны использоваться в текстовом документе.Я хотел бы написать макрос для поиска в документе этих слов и фраз и выделить их.

До сих пор я нашел и отредактировал некоторый код для поиска определенных слов, и он выделит их:

Sub Find_Liability_Words()
'
' Find_Liability_Words Macro
'
'
Application.ScreenUpdating = False
Options.DefaultHighlightColorIndex = wdBrightGreen
Dim StrFnd As String, i As Long, StrRpt As String

' Words to search for
StrFnd = "actually,administer,advise,affirmative,all,always"

With ActiveDocument.Range.Find
  .ClearFormatting
  .Replacement.ClearFormatting
  .Replacement.Highlight = True
  .Forward = True
  .Wrap = wdFindContinue
  .Format = True
  .MatchCase = False
  .MatchWholeWord = True
  .MatchWildcards = False
  .MatchSoundsLike = False
  .MatchAllWordForms = True
  For i = 0 To UBound(Split(StrFnd, ","))
    .Text = Split(StrFnd, ",")(i)
    .Replacement.Text = "^&"
    .Execute Replace:=wdReplaceAll
    If .Found = True Then StrRpt = StrRpt & vbCr & Split(StrFnd, ",")(i)
  Next
End With
If StrRpt = "" Then
  MsgBox "None of the terms were found.", vbOKOnly
Else
  MsgBox "The following terms were found:" & StrRpt, vbInformation
End If
Application.ScreenUpdating = True

End Sub

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

В дополнение к этому, список слов и фраз, которые я хотел бы найти, длинный и может измениться, поэтому редактирование кода для этого можетбыть скучнымВозможно ли, чтобы этот код ссылался на текстовый файл или лист Excel, чтобы найти его слова и фразы?

Большое спасибо за любую помощь !!

...