ich bräuchte mal ne kleine Hilfe: Ich möchte gerne Daten aus einer txt Datei auslesen mittels VBA. Generell bekomme ich das auch hin, allerdings ist jetzt mein Problem, wenn ich in einer Zeile ein bestimmtes Wort finde, soll er die nächsten Zeilen auslesen bis wieder ein bestimmtes Wort kommt.
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 47 | Sub Schaltfläche3_KlickenSieAuf()
Const ForReading = 1, ForWriting = 2
Dim fso, objEingabe, objAusgabe, m, p, WriteLine
Dim AusgabePfad, AusgabeDatei, EingabePfad, EingabeDatei, ZeileTemp, Position, i
Dim TestString
Dim Pos1
Dim Pos2
Dim TextZwischenAnfuehrungszeichen
Dim ZweiterText
EingabePfad = "d:\master\"
EingabeDatei = "Bauteil1.txt"
AusgabePfad = "d:\master\"
AusgabeDatei = "New3.txt"
Set fso = CreateObject( "Scripting.FileSystemObject" )
Set objEingabe = fso.OpenTextFile(EingabePfad & EingabeDatei, 1)
Set objAusgabe = fso.OpenTextFile(AusgabePfad & AusgabeDatei, 2, True )
Do Until objEingabe.AtEndOfStream
ZeileTemp = objEingabe.Readline
If InStr(1, ZeileTemp, "=B_SPLINE_CURVE_WITH_KNOTS($,3," , vbTextCompare) > 0 Then
Pos1 = InStr(1, ZeileTemp, "(" , vbTextCompare)
Pos2 = InStr(1, ZeileTemp, ")" )
If Pos2 > 0 Then
TextZwischenAnfuehrungszeichen = Mid(ZeileTemp, Pos1 + 2, Pos2 - Pos1 - 2)
objAusgabe.WriteLine (TextZwischenAnfuehrungszeichen)
End If
End If
Loop
objEingabe.Close
objAusgabe.Close
End Sub
|
So kann ich zumindest eine txt auslesen und in die nächste Schreiben:
Jetzt mal ein Ausschnitt aus der Datei, welche ich auslesen möchte:
#47=B_SPLINE_CURVE_WITH_KNOTS($,3,(#4445,#4446,#4447,#4448,#4449,#4450,
#4451,#4452,#4453,#4454,#4455,#4456,#4457,#4458,#4459,#4460,#4461,#4462,
#4463,#4464,#4465,#4466,#4467,#4468,#4469,#4470,#4471,#4472,#4473,#4474,
#4475,#4476,#4477,#4478,#4479,#4480,#4481,#4482,#4483,#4484,#4485,#4486,
#4487,#4488,#4489,#4490,#4491,#4492,#4493,#4494,#4495,#4496,#4497,#4498,
#4499,#4500,#4501,#4502,#4503,#4504,#4505,#4506,#4507,#4508,#4509,#4510,
#4511,#4512,#4513,#4514,#4515,#4516,#4517,#4518,#4519,#4520,#4521,#4522,
#4523,#4524,#4525,#4526),.UNSPECIFIED.,.F.,.F.,(4,3,3,3,3,3,3,3,3,
Startwort soll B_SPLINE_CURVE_WITH_KNOTS($,3, sein und das Auslesen beenden soll er bei ),.UNSPECIFIED.,.
Richtig, richtig gut wäre noch die Zahlen mit # untereinander in eine neue Textdatei zu schreiben.
Ich hoffe, mir kann jemand helfen