ドキュメント内の特定の単語の出現箇所を見つけたい。
たとえば、2500 語の文書があり、検索したい単語が文書の 400 番目の単語であるとします。結果は 400 になるはずです。文書の単語をループしてこの結果を見つけました。これを行う他の方法はありますか?私の単語がドキュメントの最後の段落にある場合、出現を見つけるのに時間がかかるため、ループなし。
ここに解決策があります...ただし、次の点に注意してください。
1) 結果はイミディエイト ウィンドウに返されます
2) 単語の位置を取得する 2 つのオプションを提供しました。Words.Count
すべての句読点を含めますがComputeStatistic
、おそらくあなたにとってより適しているのは、「実際の単語コレクション」内の単語の実際の位置を返すことです。
Sub PositionOfTheWord()
Dim WordToSearch As String
WordToSearch = "hendrerit"
Dim FirstWordFound As Range
Set FirstWordFound = ActiveDocument.Content
FirstWordFound.Find.Execute (WordToSearch)
If FirstWordFound.End <> ActiveDocument.Content.End Then
Debug.Print "Word on position: " & ActiveDocument.Range(0, FirstWordFound.End).Words.Count
Debug.Print "Word on position: " & ActiveDocument.Range(0, FirstWordFound.End).ComputeStatistics(wdStatisticWords)
Else
Debug.Print "There is not search word within ActiveDocument"
End If
End Sub