Blade1981 10 Geschrieben 12. September 2006 Melden Teilen Geschrieben 12. September 2006 Hallo! Ich habe wieder einmal ein VBS-Problem: Ich muss Logfiles auswerten. Und zwar sind diese so aufgebaut: Daten Daten Daten Daten Daten GRÖßE Daten ..... Daten Daten Daten Daten Daten Daten Daten .... Daten Daten Daten Daten Daten GRÖßE Daten ..... Daten Daten Daten Daten Daten GRÖßE Daten ..... .... usw Ich muss aus jeder Zeile, die GRÖßE enthält auch GRÖßE auslesen, wobei weder Daten zuvor, Daten danach oder GRÖßE in jeder Zeile die selbe Länge haben sondern immer abweichen. Lediglich die Leerzeichen dienen als Anhaltspunkt. Die Zeile, in welcher GRÖßE enthalten ist, bekomme ich in eine Variable geschrieben, das ist nicht das Problem. Aber wie komme ich nun an die GRÖßE ran, welche zwischen dem 5. und dem 6. Leerzeichen steht und in eine Variable geschrieben? Per Excel ist das nicht möglich zu lösen, da die Logfiles teilweise zu viele Zeilen haben! Danke schonmal! Zitieren Link zu diesem Kommentar
thorgood 10 Geschrieben 12. September 2006 Melden Teilen Geschrieben 12. September 2006 Dafür gibt es die Funktion Split() Nehmen wir an deine auszuwertende Zeile ist in sString vorhanden sArray = Split(sString, " ", -1, 1) Du erhältst ein Array der einzelnen Token mit 0 beginnend. Dein gesuchter Wert sollte also in sArray(5) stehen. thorgood Zitieren Link zu diesem Kommentar
Blade1981 10 Geschrieben 12. September 2006 Autor Melden Teilen Geschrieben 12. September 2006 Na die Antwort ging ja schnell, super, danke! Hat erstmal funktioniert! Und jetzt noch ne Frage. Wie kann ich abfragen, wie viele Zeilen die gesamte Textdatei hat? Wär super, wenn das auch noch so einfach zu machen wäre! Danke schonmal! Zitieren Link zu diesem Kommentar
thorgood 10 Geschrieben 12. September 2006 Melden Teilen Geschrieben 12. September 2006 Da dein Script wahrscheinlich jede Zeile irgendwo einliest einfach mitzählen (i = i + 1) Am Ende sollte i die Anzahl der eingelesenen Zeilen enthalten. thorgood Zitieren Link zu diesem Kommentar
Blade1981 10 Geschrieben 12. September 2006 Autor Melden Teilen Geschrieben 12. September 2006 Hmmm... Mir gehts darum, dass das Script nicht mit ner Fehlermeldung enden soll, weil die Datei zu Ende sei. Aber das werde ich mal ausprobieren, wie ich das am besten löse. Mal schauen. Habe aber nun ein anderes Problem. Wenn ich zwischen den Leerzeichen die GRÖßE auslese, dann behandelt er diesen Wert als String und nicht als Integer. Wie kann ich das umwandeln? Er zählt mir in einem weiteren Schritt die Zahlen also nicht zusammen, sondern setzt diese lediglich nebeneinander. Wenn die erste Größe z.B. 50 ist und die zweite Größe ist 6, dann kommt 506 raus und nicht 56. Zitieren Link zu diesem Kommentar
thorgood 10 Geschrieben 12. September 2006 Melden Teilen Geschrieben 12. September 2006 Umwandeln von Strings. s1 = "50" s2 = "6" s1 + s2 ergibt "506" cint(s1) + cint(s2) ergibt 56 Für das erreichen des Dateiendes gibt es verschiedene Ansätze. Fehlererkennung mit err oder eine Schleife basten: Dim Datei Set Datei = fso.OpenTextFile( "Datei.txt", 1, 0) Do while not Datei.AtEndOfLine sZeile = Datei.ReadLine Loop Datei.Close thorgood Zitieren Link zu diesem Kommentar
Blade1981 10 Geschrieben 12. September 2006 Autor Melden Teilen Geschrieben 12. September 2006 Is ja super :) Schon ausprobiert und hat super geklappt! Vielen vielen Dank! Ich würd dir ja jetz an Drink spendieren, aber is bissi schwierig ;) Zitieren Link zu diesem Kommentar
thorgood 10 Geschrieben 12. September 2006 Melden Teilen Geschrieben 12. September 2006 Ein virtuelles Prosit :D - Danke Zitieren Link zu diesem Kommentar
Blade1981 10 Geschrieben 13. September 2006 Autor Melden Teilen Geschrieben 13. September 2006 Jetz muss i nommal stören! Kannst du mir vielleicht auch bei diesem hier weiter helfen??? http://www.mcseboard.de/windows-forum-allgemein-28/vbscript-variable-excel-liste-schreiben-98160.html Zitieren Link zu diesem Kommentar
Blade1981 10 Geschrieben 20. September 2006 Autor Melden Teilen Geschrieben 20. September 2006 @thorgood Weißt du, wie ich in eine Excel-Datei den Inhalt der Variablen einfügen kann? Das wär echt super! (Siehe Link zu anderem Thread im Posting zuvor!) Zitieren Link zu diesem Kommentar
QBall 10 Geschrieben 25. September 2006 Melden Teilen Geschrieben 25. September 2006 Hallo, bin recht selten hier von daher weiss ich nicht ob es Ok ist wenn ich einfach so meine Frage zu diesem Forum stelle: zu meiner Problematik: Ich habe in Word97 ein Makro geschrieben in welchem Zeilen markiert, ausgeschnitten und an einem Bestimmten Ort in einem Formular eingefügt werden. Leider variieren die Zeileninhalte und ich schaffe es nicht dem Makro zusagen das er jeweils immer den gesamten Inhalt der Zeile nehmen soll und nicht ständig nur die 4 Buchstaben meines Versuchsmodels!!! Beispiel: in Zeile 1 steht imnmer die Krankenkasse DAK jetzt gehe ich hin markiere das und schneide es aus Befehl: Selection.MoveRight Unit:=wdCharacter, Count:=4, Extend:=wdExtend Selection.Cut Wenn dort jetzt aber nicht nur DAK steht sondern als Beispiel BKK Rheinland-Pfalz nimmt er natürlich aufgrund des Befehls "Count:=4" nur die ersten vier Buchstaben in diesem Fall BKK Wie sage ich dem Makro das er immer den kompletten Inhalt nehmen soll?! Danke für eure Hilfe... MFG Pascal Bergmeier Zitieren Link zu diesem Kommentar
Blade1981 10 Geschrieben 25. September 2006 Autor Melden Teilen Geschrieben 25. September 2006 Hallo QBall! Zunächst mal: Das ist ein neues Thema also solltest du einen neuen Thread aufmachen! Ansonsten so viel dazu: Warum machst du das überhaupt per Count? Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.