VBscript OpenTextFile funktioniert nicht?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet
  1. Fehler Du prüfst außerhalb des Do-Loops ob die Datei existiert
  2. Fehler Wenn die Datei leer ist liest Du hinter dem Dateiende
  3. If fso.File... ist nicht mit end if abgeschlossen

korrigiertes Script:

Set fso = CreateObject("Scripting.FileSystemObject")
sl = InputBox("Wieviele Schueler sollten den Test machen?","")
'Gibt es eine "& sl &"ste Datei?
Do until sl=0
'wenn File  existiert  Inhalt  lesen
If fso.FileExists("D:\Lernprogrammmi\NomenMitEndungen\Tests\Temp\"& sl &".txt") Then
Set oFile = fso.OpenTextFile("D:\Lernprogrammmi\NomenMitEndungen\Tests\Temp\"& sl &".txt")
'sicherstellen das  nicht  hinter dem Dateiende  gelesen  wird
Do Until oFile.AtEndOfStream
      ' alle Zeilen  der Datei   lesen
    fileText= filetext & oFile.ReadLine & vbCrLf
Loop
oFile.close
'fileText anzeigen
msgbox "Datei " & sl & ".txt :" & vbCrLf & fileText
'Dateiinhalt  der "Sammelvariable" für  alle Texte  zuweisen
'dateiname  : Linefeed  fileText  2xLinefeed
allText=allText & sl & ".txt :" & vbCrLf & fileText & vbCrLf  & vbCrLf
'fileText löschen
fileText=""
end if
'Zähler veringern
sl=sl-1
loop

'allText anzeigen
msgbox allText
'erstelle neue  Datei "all.txt"
Set oFile = fso.CreateTextFile("D:\Lernprogrammmi\NomenMitEndungen\Tests\Temp\all.txt")
'allText iin Datei "all.txt" schreiben
oFile.Write(allText)
oFile.close
  1. Dateiprüfung in die Schleife verlegt
  2. Datei nicht weiter als das Dateiende lesen ... .AtEndOfStream
  3. end if an richtiger Stelle eingefügt
  4. den gesamten aus allen Dateien gelesen Text in neue Sammeldatei schreiben
Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren
igern 
Fragesteller
 10.06.2018, 15:37

Danke! hast mir sehr geholfen ;)

0