Hey,
Zit met iets waar ik mijn tanden op stukbijt. Eerst de code tot dusver:
Sub ReadFileLineByLine()
path = "C:\01000001.txt"
Const ForReading = 1
Const TristateUseDefault = -2
Dim oFS
Dim oFile
Dim oStream
Dim MyStr
Dim sRecord
Set oFS = CreateObject("Scripting.FileSystemObject")
Set oFile = oFS.GetFile(path)
Set oStream = oFile.OpenAsTextStream(ForReading, TristateUseDefault)
Do While Not oStream.AtEndOfStream
sRecord = oStream.readLine
If sRecord = "[OPMERKING] TEST" Then GoTo Schrijven
Loop
Schrijven:
MyStr = Left(sRecord, 11)
oStream.Close
Set oFS = Nothing
Set oFile = Nothing
MsgBox MyStr
End Sub
Het probleem is het volgende: de regel "If sRecord = "[OPMERKING] TEST" Then GoTo Schrijven" klopt niet helemaal.
Waar "TEST" staat kan eender welke andere string staan. De bedoeling is dat gezocht wordt naar "[OPMERKING]" met
eventueel nog iets er achter ( wat ook niet altijd het geval is, soms staat er niets achter ), en dat dan d.m.v.
de variabele MyStr het aantal karakters wordt teruggebracht naar 11. Vervolgens - en dat heb ik ook nog niet voor
elkaar gekregen - moet MyStr de originele lijn overschrijven.
Graag hulp, tx,
Zyzyxy
Zit met iets waar ik mijn tanden op stukbijt. Eerst de code tot dusver:
Sub ReadFileLineByLine()
path = "C:\01000001.txt"
Const ForReading = 1
Const TristateUseDefault = -2
Dim oFS
Dim oFile
Dim oStream
Dim MyStr
Dim sRecord
Set oFS = CreateObject("Scripting.FileSystemObject")
Set oFile = oFS.GetFile(path)
Set oStream = oFile.OpenAsTextStream(ForReading, TristateUseDefault)
Do While Not oStream.AtEndOfStream
sRecord = oStream.readLine
If sRecord = "[OPMERKING] TEST" Then GoTo Schrijven
Loop
Schrijven:
MyStr = Left(sRecord, 11)
oStream.Close
Set oFS = Nothing
Set oFile = Nothing
MsgBox MyStr
End Sub
Het probleem is het volgende: de regel "If sRecord = "[OPMERKING] TEST" Then GoTo Schrijven" klopt niet helemaal.
Waar "TEST" staat kan eender welke andere string staan. De bedoeling is dat gezocht wordt naar "[OPMERKING]" met
eventueel nog iets er achter ( wat ook niet altijd het geval is, soms staat er niets achter ), en dat dan d.m.v.
de variabele MyStr het aantal karakters wordt teruggebracht naar 11. Vervolgens - en dat heb ik ook nog niet voor
elkaar gekregen - moet MyStr de originele lijn overschrijven.
Graag hulp, tx,
Zyzyxy