私は特定の単語を検索したいたくさんのtxtファイルを持っています。私のアプローチは、単語でtxtファイルを開くためにExcelマクロを使用し、Excelのファイルで提供する単語リストの各項目を検索することです。それは私に各文書の各単語がどのくらいの頻度で出現するかのリストを私に与えます。正規表現を使用して、excel vbaマクロから単語ファイルを検索する
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
のようなものを書くことができない問題のようです、私はこのような状況で正規表現の仕事を作る方法を知っているし、あなたの助けに感謝しないでください!
Selection.Find.MatchWildcards = True
注:
は、これまであなたの助けをいただき、ありがとうございます。私はRegExpクラスが必要で、すでにあなたが言及した記事を参照しました。残念ながら、私は、私の場合、正規表現を使ってvba excelマクロから単語を検索したい場合に、それを動作させる方法を理解できません。 –
@AndreasK:regexを使用してサンプルコードを追加しました。正規表現のパターンがプレーンテキストの検索用語ではなくExcelシート内にあることを期待しています。これがあなたが探している答えかどうかを確認してください。 –
ブライアン、ありがとう! –