Ik heb een probleem met een stuk code. De bedoeling van de code is om te zoeken in een grote *.TXT om bepaalde dingen te zoeken. Mijn code werkt prima met de wat kleinere bestanden maar een bestand van 500 MB wil niet omdat een string niet zo groot kan worden.
Op regel 20 loopt de code fout omdat de String niet groot genoeg is.
Weet iemand een simpele oplossing, ben normaal C# gewend en zit voor de eerste keer in VBA te kloten.
Op regel 20 loopt de code fout omdat de String niet groot genoeg is.
Weet iemand een simpele oplossing, ben normaal C# gewend en zit voor de eerste keer in VBA te kloten.
Visual Basic .NET:
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
| Sub BestandInfo(FileName As String) 'variabelen Dim intFF As Long Dim intRegel As Long Dim aantallen As Long Dim intLine As Long Dim bestandNummer As String Dim strLine As String Dim result As String Dim locatie As String Dim varLines, e As Variant intFF = FreeFile 'Zet de data van de file in de string Open FileName For Binary Access Read Lock Read Write As intFF strLine = Space(LOF(intFF)) Get intFF, , strLine Close intFF varLines = Split(strLine, vbCrLf) 'aantallen tellen hoeveel For Each e In varLines 'kijk of de string "070RMet vriendelijke groet," voorkomt in de lijn, dan verhoog aantal intLine = InStr(1, e, "070RMet vriendelijke groet,", vbTextCompare) If intLine > 0 Then aantallen = aantallen + 1 End If 'bij regel 3 bent kopieer een substring hiervan de betreffende regel If intRegel = 3 Then locatie = Mid(e, 154, 10) End If 'teller van de regelnummer intRegel = intRegel + 1 Next bestandNummer = Mid(FileName, Len(FileName) - 11, 8) lijst = lijst + bestandNummer + ";" + locatie + ";" + Format(1, aantallen) + vbNewLine End Sub |