У меня есть большое количество txt-файлов, в которых я хочу найти определенные слова. Мой подход заключается в использовании макроса excel для открытия файлов txt в слове, а затем поиска каждого вхождения списка слов, который я предоставляю в файле excel. Это дает мне список того, как часто каждое слово встречается в каждом документе. Мне удалось это сделать, используя следующий код:
Sub CounterofWords()
Application.ScreenUpdating = False
Dim wdApp As Word.Application
Set wdApp = CreateObject("Word.application")
wdApp.Visible = False
For d = 1 To 23
Dim wdDoc As Word.Document
FName = "C:\Users\Andreas\Desktop\test\" & Cells(d + 1, 11) & "_htm.txt"
On Error GoTo txtdesign
Set wdDoc = wdApp.Documents.Open(filename:=FName)
i = 15
Do While Cells(1, i) <> ""
iCount = 0
Application.ScreenUpdating = False
With wdApp.Selection.Find
.ClearFormatting
.Text = Cells(1, i).Value
Do While .Execute
iCount = iCount + 1
wdApp.Selection.MoveRight
Loop
End With
Cells(d + 1, i).Value = iCount
i = i + 1
Loop
wdDoc.Close savechanges:=False
Set wdDoc = Nothing
Next d
wdApp.Quit
Set wdApp = Nothing
Application.ScreenUpdating = True
Exit Sub
txtdesign:
FName = "C:\Users\Andreas\Desktop\test\" & Cells(d + 1, 11) & "_txt.txt"
Resume
End Sub
Пока все работает нормально. Теперь я хочу иметь возможность искать регулярные выражения. Мне это нужно, например, чтобы избежать определенных комбинаций слов в моем поиске.
Кажется, проблема в том, что я не могу написать что-то вроде
With wdApp.Selection.regex
В любом случае, я не знаю, как заставить регулярное выражение работать в такой ситуации, и ценю вашу помощь!