Met Excel kun je een tekstbestand lezen en het resultaat in het werkblad zetten. Dit doe je door VBA te gebruiken. Visual Basic for Applications (VBA) is een eenvoudige programmeertaal. Je hoeft geen verstand te hebben van die programmeertaal. Gewoon onderstaand verhaal opvolgen. Het zijn 3 uiterst simpele voorbeelden.
Code als volgt invoegen:
1. Kopieer de code
2. Open een nieuwe werkmap
3. Druk op de toetscombinatie ALT + F11 om de Visual Basic Editor te openen
4. Druk op de toetscombinatie ALT + N om het menu Invoegen te openen
5. Druk op M om een standaard module in te voegen
6. Daar waar de cursor knippert voeg je de code in middels Ctrl + V
7. Plaats nu de cursor in een van de subs en druk op F5.
8. Om het simpel te houden wordt het resultaat afgedrukt in het Venster Direct (Dus niet in het werkblad.)
9. Let op: daar waar staat “c:\temp\JOUWBESTAND.txt” moet je de naam van jouw bestand invullen. De extensie is .txt
Sub Test_1()
Dim FileNum As Integer
Dim DataLine As String
FileNum = FreeFile()
Open "c:\temp\JOUWBESTAND.txt" For Input As #FileNum
While Not EOF(FileNum)
Line Input #FileNum, DataLine ' read in data 1 line at a time
Debug.Print DataLine
' depending on what processing you need to do for each case
Wend
Close #FileNum
End Sub
Sub Test_2()
Dim hf As Integer: hf = FreeFile
Dim lines() As String, i As Long
Open "c:\temp\JOUWBESTAND.txt" For Input As #hf
lines = Split(Input$(LOF(hf), #hf), vbNewLine)
Close #hf
For i = 0 To UBound(lines)
Debug.Print "Line"; i; "="; lines(i)
Next
End Sub
Let op: Het laatste voorbeeld Test_3 vereist een verwijzing naar Microsoft Scripting Runtime. Dat doe je als volgt:
Druk op Alt+F11 als je nog niet in de Visual Basic Editor zit. Klik vervolgens op:
Extra | Verwijzingen
Zoek in de lange lijst naar Microsoft Scripting Runtime en vink aan.
Sub Test_3()
'Let op: Vereist een verwijzing naar Microsoft Scripting Runtime.
'Extra | Verwijzingen -> Microsoft Scripting Runtime zoeken en aanvinken
Dim fso As FileSystemObject: Set fso = New FileSystemObject
Set txtStream = fso.OpenTextFile("c:\temp\JOUWBESTAND.txt", ForReading, False)
Do While Not txtStream.AtEndOfStream
strNextLine = txtStream.ReadLine
Debug.Print strNextLine
Loop
txtStream.Close
End Sub