Dan nu zelf maar het antwoord geven. Ik heb het gevonden op een ander vba forum. Die kerel kwam gewoon met een excel bestandje zelf aan, werkend op *.txt. Deze kun je echter makkelijk in *.doc veranderen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
| Option Explicit
Sub z()
Dim lngIndex As Long
Dim strSearchFor As String
Dim strLocation As String
Dim rngFiles As Range
strLocation = Range("D2").Text
If Range("D5") <> "" Then
strSearchFor = Range("D5").Text
If Range("D7") <> "" Then
If Range("D6") = "And" Then
strSearchFor = strSearchFor & " and " & Range("D7").Text
Else
strSearchFor = strSearchFor & " or " & Range("D7").Text
End If
If Range("D9") <> "" Then
If Range("D8") = "And" Then
strSearchFor = strSearchFor & " and " & Range("D9").Text
Else
strSearchFor = strSearchFor & " or " & Range("D9").Text
End If
End If
End If
End If
If strSearchFor = "" Then
MsgBox "Nothing to search for", vbExclamation
Exit Sub
End If
With Application.FileSearch
.NewSearch
.LookIn = strLocation
.SearchSubFolders = False
.TextOrProperty = strSearchFor
.Filename = "*.txt"
.Execute
Range("B:B").Clear
Set rngFiles = Range("B15")
rngFiles.Offset(0, 0) = "Found " & .FoundFiles.Count & " containing " & .TextOrProperty
For lngIndex = 1 To .FoundFiles.Count
ActiveSheet.Hyperlinks.Add Anchor:=rngFiles.Offset(lngIndex, 0), Address:=.FoundFiles.Item(lngIndex)
Next
End With
End Sub |
Bron:
http://ozgrid.com/forum/viewthread.php?tid=6532
Bestand:
http://ozgrid.com/forum/v...chment&tid=6532&pid=30911
Ik weet niet of je je een voorstelling kan maken van de sheet zelf, anders moet het bestandje even gedownload worden (ik host niet zelf, is van dat betreffende forum, als ie offline is, jammer maar helaas. Daarom wel even de code hier gepost, voor later)
edit:
Ik heb even, voor de duidelijkheid, dit erbij/onder gezet:
code:
1
2
3
4
5
6
7
| With Application.FileSearch
.NewSearch
.LookIn = strLocation
.SearchSubFolders = False
.TextOrProperty = strSearchFor
.Filename = "*.txt"
.Execute |
Laatst genoemde code is dus de daadwerkelijke zoekfunctie. O o o o o o wat simpel he

De opties spreken voor zich, enkele licht ik er even uit:
.Lookin = de directory waar in gezocht moet worden
.TextOrProperty = de waarde die gezocht moet worden
.Filename = welke bestanden moeten er in bovengenoemde directory worden bekeken of ze de bovengenoemde string bevatten.
Er is ook een beperkte Help in VBA zelf te vinden over FileSearch
C'est tout!
[
Voor 32% gewijzigd door
456 op 01-10-2003 14:05
]