Bjoern: Textfile auslesen

morgen allerseits,

ich möchte per vbscript ein textfile auslesen. und zwar von anfang bis ende. habe aber mühe mit dem EOF (end-of-file). folgendes habe ich einmal zusammengebastelt:

Set fso=CreateObject("Scripting.FileSystemObject")
Set oldfile=fso.OpenTextFile("myfile.csv")
While (!EOF(oldfile))
  written=oldfile.ReadLine
  old=old&written
Wend

Beim EOF haut etwas nicht hin. weiss jemand von euch, was der fehler ist ?

gruss
bjoern

  1. Hallo,

    ich möchte per vbscript ein textfile auslesen. und zwar von anfang bis ende. habe aber mühe mit dem EOF (end-of-file).

    Kein Wunder. Das gibts beim FSO auch gar nicht ;)

    While (!EOF(oldfile))

    Das ist aber kein VBScript (zumindest nicht der Teil in der
    Klammer.

    Beim EOF haut etwas nicht hin. weiss jemand von euch, was der fehler ist ?

    Ja. Das Proggi ist ziemlich verhauen. Lies mal:
    http://www.aspfaq.de/index.asp?FID=28&ELE=2442
    Komplett auslesen kannst du die Datei mit ReadAll.
    Alternativ geht auch folgendes:

    Do While Not objFile.AtEndOfStream
       strContent = strContent & objFile.ReadLine
    Loop

    HTH, Stefan

    1. Hallo,

      Do While Not objFile.AtEndOfStream
         strContent = strContent & objFile.ReadLine
      Loop

      danke sön. funktiniert bestens.
      aber so verhauen war's doch gar nicht. nur die bedingung im while war etwas daneben.
      ReadAll kann ich übrigens nicht verwenden, da in der schlaufe noch die jeweilige zeile überprüft werden muss.

      grüssle
      bjoern

      1. ReadAll kann ich übrigens nicht verwenden, da in der schlaufe noch die jeweilige zeile überprüft werden muss.

        Hi Bjoern!

        könntest du schon:

        If not txtdatei.atEndOfStream THEN
          komplett = txtdatei.readAll
          zeilenArray = Split(komplett,vbNewLine)
          anzahlZeilen = Ubound(zeilenarray) + 1
          For a = 0 to Ubound(zeilenarray)
            'da ist die einzelzeile :-)
          Next
        END IF

        die Abfrage auf .atEndOfStream ist sicherer, weil ein Fehler produzzt wird, wenn die Datei leer ist
        du splittest den gesamten TXT-Stream dann anhand des Auftretens von vbNewLine oder Chr(10) & Chr(13)  (oder war das andersrum???) ich nehm immer vbNewLine

        Nur so als Tip.

        Gruß, Frank

        1. Hi

          If not txtdatei.atEndOfStream THEN
            komplett = txtdatei.readAll
            zeilenArray = Split(komplett,vbNewLine)
            anzahlZeilen = Ubound(zeilenarray) + 1
            For a = 0 to Ubound(zeilenarray)
              'da ist die einzelzeile :-)
            Next
          END IF

          das ist ja noch viel besser. da kann ich das array auch später noch verwenden.
          danke.

          bjoern