VBS Wert aus einer Textdatei lesen und in eine andere Textdatei übertragen
Hallo,
ich habe folgendes Problem. Leider bin ich "noch ein VBS Anfänger und ich soll ein kleines Programm schreiben welches die Werte aus einer Textdatei herauszieht ( ist immer die Letzte Zeile der gleichen Textdatei) und in eine andere Leere Textdatei schreibt. Von dieser neuen Textdatei greift dann ein externe System darauf zu und zeiht sich den Wert.
Der Wert steht nach dem zweiten ; in der Zeile.
;01.09.2011;1087;;;;;;1087;;;N/mm²;
Mein Problem ist es jetzt das ich zwar eine neue Textdatei generiere, jedoch kein Inhalt übertragen und wie komme ich genau an den zweiten Wert (1087) in der Zeile?
Kann mir da jemansd helfen?
Vielen Dank schonmal
ich habe folgendes Problem. Leider bin ich "noch ein VBS Anfänger und ich soll ein kleines Programm schreiben welches die Werte aus einer Textdatei herauszieht ( ist immer die Letzte Zeile der gleichen Textdatei) und in eine andere Leere Textdatei schreibt. Von dieser neuen Textdatei greift dann ein externe System darauf zu und zeiht sich den Wert.
Der Wert steht nach dem zweiten ; in der Zeile.
;01.09.2011;1087;;;;;;1087;;;N/mm²;
Mein Problem ist es jetzt das ich zwar eine neue Textdatei generiere, jedoch kein Inhalt übertragen und wie komme ich genau an den zweiten Wert (1087) in der Zeile?
Kann mir da jemansd helfen?
Vielen Dank schonmal
Set fso = CreateObject("Scripting.FileSystemObject")
Set o = fso.GetFolder("M:\Matt\_25_Haertepruefung_WBH\Datei")
Set da = o.Files
counter = o.Files.Count ' Zählt die Anzahl der Dateien im Ordner
msgbox counter
if counter > 1 then
msgbox "Es sind mehrere Dateien vorhanden, es ist nur eine Messwertdatei im Ordner zulässig!!"
WScript.Quit
end if
For Each d in da
s = s & d.path
msgbox s
next
' ----- Härtewert wird aus der Datei gelesen ------
Set fso = CreateObject("Scripting.FileSystemObject")
set oFile = fso.OpenTextFile(s,1)
Zeilen = Split(oFile.ReadAll, vbCrLf)
AnzahlZeilen = oFile.Line
msgbox AnzahlZeilen
oFile.close
Set Textdatei = fso.CreateTextfile("M:\Matt\_25_Haertepruefung_WBH\Datei\Haertewert.txt",2)
Textdatei.WriteLine Zeilen(AnzahlZeilen - 1)
Textdatei.close
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 174676
Url: https://administrator.de/forum/vbs-wert-aus-einer-textdatei-lesen-und-in-eine-andere-textdatei-uebertragen-174676.html
Ausgedruckt am: 19.05.2025 um 20:05 Uhr
7 Kommentare
Neuester Kommentar
Hallo mmatt851 und willkommen im Forum!
Da Du ja ein Array "Zeilen" erzeugst, kannst Du die letzte Zeile über
erhalten.
Falls am Ende der Datei noch eine Zeilenschaltung stünde, wäre diese letzte Zeile leer - daher prüfen und ggf die vorletzte Zeile verwenden:
Grüße
bastla
Da Du ja ein Array "Zeilen" erzeugst, kannst Du die letzte Zeile über
LetzteZeile = Zeilen(UBound(Zeilen))
Falls am Ende der Datei noch eine Zeilenschaltung stünde, wäre diese letzte Zeile leer - daher prüfen und ggf die vorletzte Zeile verwenden:
If Trim(LetzteZeile) = "" Then LetzteZeile = Zeilen(UBound(Zeilen) - 1)
wie komme ich genau an den zweiten Wert (1087) in der Zeile?
Soferne ";" das Trennzeichen ist, handelt es sich bei "1087" um den dritten Wert der Zeile (allerdings mit dem Index 2, wenn Du die Zeile per "Split()
" zerlegst) ...Grüße
bastla
Hallo mmatt851!
Was soll denn "nLine" darstellen?
Anyhow, wenn Du in "Readline" (es ist übrigens keine gute Idee, Variablen den Namen von Eigenschaften oder, wie hier, Methoden zu geben) die gesuchte Zeile hast, kannst Du mit
den Inhalt des 3. Feldes auslesen ...
Grüße
bastla
P.S.: Dein "
Was soll denn "nLine" darstellen?
Anyhow, wenn Du in "Readline" (es ist übrigens keine gute Idee, Variablen den Namen von Eigenschaften oder, wie hier, Methoden zu geben) die gesuchte Zeile hast, kannst Du mit
Wert = Split(Readline, ";")(2)
Grüße
bastla
P.S.: Dein "
End If
" kommt in Zeile 11 zu früh - wenn es keine Quelldatei gab, hat es auch keinen Sinn, eine Zieldatei zu erstellen ...