Met de onderstaande code ben je in staat om regel voor regel de inhoud van een bepaald kladblok bestand uit te lezen. In het hieronder gekozen voorbeeld Heb ik ervoor gekozen om de waarde van deze regel te tonen middels een berichtbox.
Function TXTuitlezen(bestand As String) As String
Set fso = CreateObject("Scripting.FileSystemObject")
Set TXTlezen = fso.OpenTextFile(bestand, ForReading, False)
Do While Not TXTlezen.AtEndOfStream
MsgBox TXTlezen.ReadLine
Loop
TXTlezen.Close
End Function
Op deze manier roep je de functie aan binnen een sub:
Sub AanroepTxtFunctie()
bestand = "D:\VBA testen\KladblokTestBestand.txt"
TXTuitlezen (bestand)
End Sub
Je kunt deze code echter ook gebruiken om bijvoorbeeld een zoekactie uit te voeren naar bepaalde tekst in een kladblok bestand. In dat geval haal je de berichtbox weg en vervang je deze door een string functie.
Function TXTuitlezenPlusZoeken(bestand As String, zoekwoord As String) As String
Set fso = CreateObject("Scripting.FileSystemObject")
Set TXTlezen = fso.OpenTextFile(bestand, ForReading, False)
teller = 0
Do While Not TXTlezen.AtEndOfStream
teller = teller + 1
TekstopRegel = TXTlezen.ReadLine
If InStr(TekstopRegel, zoekwoord) > 0 Then
MsgBox "Het zoekwoord " & zoekwoord & " is gevonden op regel " & teller
End If
Loop
TXTlezen.Close
End Function
Deze roep je nu iets anders aan vanwege het feit dat hij nu twee input variabelen heeft. Het bestand en het zoekwoord.
Sub AanroepTxtFunctiePlusZoeken()
Dim bestand As String
Dim zoekwoord As String
bestand = "D:\VBA testen\KladblokTestBestand.txt"
zoekwoord = "MacroExcel"
TXTuitlezenPlusZoeken bestand, zoekwoord
End Sub
Mocht het zoekwoord gevonden worden dan krijg nu de volgende berichtbox te zien:
