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
| Function CountMatches(ByVal strFic As String, ByVal strSearch As String) As Long
Dim reg As VBScript_RegExp_55.RegExp
Dim Matches As VBScript_RegExp_55.MatchCollection
Dim Fic As Integer
Dim strBuff As String * 20000
Dim strBorder As String
' instanciation
Set reg = New VBScript_RegExp_55.RegExp
reg.Global = True
reg.IgnoreCase = True
reg.Multiline = True
reg.Pattern = "(" & strSearch & ")"
' gestion fichier
Reset
Fic = FreeFile
Open strFic For Binary Access Read As #Fic
Do While Not EOF(Fic)
strBorder = Right(strBuff, Len(strSearch) - 1)
Get #Fic, , strBuff
strBorder = strBorder & strBuff
Set Matches = reg.Execute(strBorder)
CountMatches = CountMatches + Matches.Count
Loop
Close #Fic
' libération
Set reg = Nothing
Set Matches = Nothing
End Function |
Partager