Option Explicit
Private objWord As Word.Application
Private wd As Word.Document
Private Sub Form_Load()
List1.Clear
List2.Clear
List1.AddItem "C:\Docs\test1.doc"
List1.AddItem "C:\Docs\test2.doc"
List1.AddItem "C:\Docs\test3.doc"
List1.AddItem "C:\Docs\test4.doc"
End Sub
Private Sub Command1_Click()
Dim i As Integer
If objWord Is Nothing Then
Set objWord = CreateObject("Word.Application")
Else
Set objWord = GetObject(, "Word.Application")
End If
DoEvents
For i = 0 To List1.ListCount - 1
If DocContainSearchString(List1.List(i), "test") Then List2.AddItem List1.List(i)
Next i
If Not (wd Is Nothing) Then Set wd = Nothing
If Not (objWord Is Nothing) Then objWord.Application.Quit
If Not (objWord Is Nothing) Then Set objWord = Nothing
End Sub
Private Function DocContainSearchString(sDocName As String, sSearchString As String) As Boolean
Dim myRange As Range
Dim sSearchfor As String
sSearchfor = sSearchString
If sSearchfor = "" Then Exit Function
Set wd = objWord.Documents.Open(sDocName)
Set myRange = wd.Content
myRange.Find.Execute FindText:=sSearchfor, Forward:=True
If myRange.Find.Found Then
DocContainSearchString = True
Else
DocContainSearchString = False
End If
End Function