t0pd0g

Inhalt eines Textdokuments txt in eine VBS Variable umwandeln

Der Titel sagt alles.
Allerdings verwende ich folgenden Script um die Variable in einer datei zwischenzuspeichern:

Set FSO = CreateObject("Scripting.FileSystemObject")
Set MyFile = FSO.CreateTextFile("Zwischenspeicher.txt", TRUE)
MyFile.Close

Set MyFile = FSO.OpenTextFile("Zwischenspeicher.txt", 8)
MyFile.WriteLine (""&name&"")

Ich möchte bitte keine verunstalteten Optionen mit Inputbox und sendkeys :D

mfg T0pD0g
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 280848

Url: https://administrator.de/forum/inhalt-eines-textdokuments-txt-in-eine-vbs-variable-umwandeln-280848.html

Ausgedruckt am: 29.04.2025 um 06:04 Uhr

122990
Lösung 122990 21.08.2015 aktualisiert um 21:19:04 Uhr
Goto Top
Moin,
na ja so ganz klar ist dein Titel nun auch wieder nicht, als da wären Infos wie welche Zeile der Textdatei du als Variable haben willst...
Geht aber ziemlich einfach:
Set fso = CreateObject("Scripting.FileSystemObject")  
arrLines = Split(fso.OpenTextFile("C:\datei.txt",1).ReadAll(),vbNewLine)  
strLine1 = arrLines(0)
msgbox strLine1
Ich möchte bitte keine verunstalteten Optionen
Und wir wollen eindeutige Infos face-wink

Gruß grexit
T0pD0g
T0pD0g 21.08.2015 um 21:19:22 Uhr
Goto Top
Danke für die Antwort :D
T0pD0g
T0pD0g 23.08.2015 um 19:11:04 Uhr
Goto Top
Gibt es eine Möglichkeit die zeile auf eine bestimmte Breite zu begrenzen ?
T0pD0g
T0pD0g 23.08.2015 um 19:12:38 Uhr
Goto Top
Also wenn in der Zeile steht :

Hi heute ist es sonnig warm

Nur das Warm herauszufiltern indem man sagt erst ab Breite 22 bis 26 zu kopieren ?
122990
Lösung 122990 23.08.2015, aktualisiert am 26.08.2015 um 20:28:26 Uhr
Goto Top
Zitat von @T0pD0g:

Also wenn in der Zeile steht :

Hi heute ist es sonnig warm

Nur das Warm herauszufiltern indem man sagt erst ab Breite 22 bis 26 zu kopieren ?
Einfach die obige Zeile 3 so schreiben
strLine1 = Mid(arrLines(0),22,4)
http://ss64.com/vb/mid.html
Vorausgesetzt die Länge der Zeile ist immer lang genug zum extrahieren, sonst musst du vorher noch mit Len(arrLines(0)) auf die Länge der Zeile prüfen...
if Len(arrLines(0)) >= 26 then
    strLine1 = Mid(arrLines(0),22,4)
else
    msgbox "Zeile ist nicht lang genug"  
end if 
T0pD0g
T0pD0g 26.08.2015 um 20:28:43 Uhr
Goto Top
Danke :D
Du weisst echt viel
T0pD0g
T0pD0g 29.08.2015 um 11:12:41 Uhr
Goto Top
Bei mir wird jetzt allerdings mid als ungültiges Argument bzw. Prozedurauflauf bezeichnet
T0pD0g
T0pD0g 29.08.2015 um 11:37:14 Uhr
Goto Top
Also funktioniert dieses Auslesen nur wenn die Datei von FSO createt wurde und ist somit relativ nutzlos da ich gerne Ergebnisse von bat anfragen in die VBS einbinden wollte.
122990
122990 29.08.2015 um 13:18:59 Uhr
Goto Top
Zitat von @T0pD0g:

Bei mir wird jetzt allerdings mid als ungültiges Argument bzw. Prozedurauflauf bezeichnet
Mid ist eine native VBS Funktion:

Da hast du dann die Parameter falsch benutzt, ganz einfach ... Lese und werde schlau:
https://msdn.microsoft.com/en-us/libRary/wffts6k3%28v=vs.84%29.aspx
122990
122990 29.08.2015 aktualisiert um 13:23:39 Uhr
Goto Top
Zitat von @T0pD0g:
Also funktioniert dieses Auslesen nur wenn die Datei von FSO createt wurde
Nein, Quatsch mit Soße, das kann alle Textdateien auslesen, eventuell muss du das Encoding fürs auslesen deiner Datei anpassen wenn es Unicode-Files sind (4er Parameter bei OpenTextfile)
https://msdn.microsoft.com/en-us/library/aa265347%28v=vs.60%29.aspx