Microsoft Excel

Herbers Excel/VBA-Archiv

bestimmte Werte aus textdatei auslesen..

Betrifft: bestimmte Werte aus textdatei auslesen.. von: chris b
Geschrieben am: 26.08.2004 19:09:15

Hallo Excel Profis,
habe ein Problem habe mehere große textdateien, aus denen ich 2 bestimmte werte auslesen muss.
Die textfile ist ca so aufgebaut

_DBDataClass = REG_DWORD 0x0sd
_DBStructVersion = "00e04asdf15f9.eFu1.ResultData1_6e11asd8e58"
Security = REG_DWORD 0x0
LineNo
VarType = REG_DWORD 0x3
Data = "6"
StationNo
VarType = REG_DWORD 0x3
Data = "7"
TypeNo
VarType = REG_DWORD 0x8
Data = "x_1110_111"

usw,...

ich breucht jetzt eine möglichkeit wie ich aus dieser textfile diese Werte auslesen und in eine Variable schreiben kann.
Ich breuchte "TypeNo" also den Wert "x_1110_111" in eine Variable und
dann noch "LinieNo" also diesen Wert "6"

ich weiß zwar das ich die textdateien mit
Open datname For Input As 1

öffnen muss aber ich weiß nicht wie ich die ganze textdatei so auslesen kann das am Ende in zwei Variablen die beiden Werte stehen
z.b in
cb = x_1110_111
und cb1 = 6
würde mich sehr freuen wenn es irgendwie möglich ist !
Vielen Dank Christian

  


Betrifft: AW: bestimmte Werte aus textdatei auslesen.. von: Uduuh
Geschrieben am: 26.08.2004 20:21:20

Hallo,
du kannst die Dateien doch per OpenText-Methode öffnen. Oder ist der Text zu lang?
Und dann einfach nach LineNo und TypeNo suchen. Dein Wert steht dann eben 2 Zeilen tiefer.

Gruß aus'm Pott
Udo


  


Betrifft: AW: bestimmte Werte aus textdatei auslesen.. von: chris b
Geschrieben am: 26.08.2004 20:41:35

Bitte ein kleines Beispiel mit deinem Tipp komme ich nicht weiter !


  


Betrifft: Das geht so.... von: Ramses
Geschrieben am: 26.08.2004 20:55:08

Hallo

musst du einfach mal probieren.
Bei "VBA-Gut" sollte eine Anpassung kein Problem sein.



Option Explicit

Public YourVar1 As String
Public YourVar2 As String

Sub Read_Extern_File_for_Var_Input()
'Hilfsvariable für Anzahl Datensätze
Dim Text1 As String
'Variablen für den Array nötig
Dim TxtLines As Long, i As Long
Dim TextArr As Variant
YourVar1 = ""
YourVar2 = ""
'Schliessen einer geöffneten Datei
Close #1
'1. Öffnen der Datei
'Den Namen und Pfad bitte anpassen
Open "c:\demo.ini" For Input As #1
'Die anzahl ist nötig um die Grösse des Arrays zu deklarieren
'Zähler auf 0 setzen
TxtLines = 0
Do While Not EOF(1) ' Schleife bis Dateiende.
    Line Input #1, Text1 ' Hilfsvariable zum einlesen verwenden
    'Zähler hochzählen
    TxtLines = TxtLines + 1
Loop
'Schliessen der Datei weil Dateiende erreicht wurde
Close #1
'Erneutes Öffnen um zum Dateianfang zu kommen
Open "c:\demo.ini" For Input As #1 ' Datei zum Einlesen öffnen.
'Array neu auf die Anzahl der Linien initialisieren
ReDim TextArr(TxtLines)
'Einlesen der Dateien in das Array
For i = 1 To TxtLines
       Line Input #1, TextArr(i)
Next i
For i = 1 To TxtLines
    'Prüfen ob die Zeile den Text "TypeNo" enthält
    If InStr(1, TextArr(i), "TypeNo") > 0 Then
        'Mit "+3" etwas spielen, weil die Leerzeichen im String
        'für mich nicht ganz klar sind
        'Den übernächsten Array-Eintrag verwenden
        YourVar1 = Mid(TextArr(i + 2), _
            InStr(1, TextArr(i + 2), "=") + 3, Len(TextArr(i)) - (InStr(1, TextArr(i + 2), "=") + 3))
    End If
    If InStr(1, TextArr(i), "LinieNo") > 0 Then
        'Den übernächsten Array-Eintrag verwenden
        YourVar2 = Left(Right(TextArr(i), 2), 1)
    End If
Next i
Close #1
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5


Gruss Rainer


 

Beiträge aus den Excel-Beispielen zum Thema "bestimmte Werte aus textdatei auslesen.."