letzte Zeile einer *.txt nach Excel auslesen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: letzte Zeile einer *.txt nach Excel auslesen
von: ray
Geschrieben am: 21.03.2005 09:51:49
Hallo,
ich habe ein Excelprog geschrieben, womit wir unsere Rechnungen bezahlen. Hierbei wдre es hilfreich, wenn man auch den mit SFirm eingelesenen Kontostand sehen kцnnte. SFirm erstellt eine *txt, in der in der letzten Zeile die gewьnschte Info steht.
Kann man die letzte Zeile der txt-Datei auslesen und in einer Zelle in Excel eintragen?
Viele frьhlingshafte Grьяe aus dem sonnigen Hamburg bei 7 Grad.
ray

Bild

Betrifft: AW: letzte Zeile einer *.txt nach Excel auslesen
von: MichaV
Geschrieben am: 21.03.2005 10:03:35
Hi,
geht mindestens so:
Dim strText As String
Open DeineDatei For Input As #1
While Not EOF(1)
Line Input #1, strText
Wend
Close #1
Range("A1").Value = strText
Gruя! Micha
Bild

Betrifft: @Micha erklдr mal Bitte
von: ray
Geschrieben am: 21.03.2005 10:09:37
hi Micha, danke fьr die Info. Kцnntest du etwas erklдren, damit ich auch lerne?
Dim strText As String ' das ist klar
Open DeineDatei For Input As #1 'auch klar aber was bedeutet #1
While Not EOF(1) '?
Line Input #1, strText 'Line Input #1 = ?
Wend '?
Close #1
Range("A1").Value = strText' das ist dann wieder klar...
Vielen Dank fьr Deine Hilfe
ray
Bild

Betrifft: AW: @Micha erklдr mal Bitte
von: MichaV
Geschrieben am: 21.03.2005 10:16:58
Hi,
hab auf die Erklдrungen verzichtet, weil Dein Level Excel gut - VBA gut
Ansonsten geh mal im Editor auf z.B. OPEN und drьck F1. Dann sparst Du Dir und mir die Tipparbeit im Forum ;o)

Dim strText As String ' das ist klar
Open DeineDatei For Input As #1 'auch klar aber was bedeutet #1 -> Datei Nummer 1
While Not EOF(1) 'solange, wie Ende von Datei 1 nicht erreicht
Line Input #1, strText 'lese eine Zeile der Datei 1 ein
Wend 'wieder hoch zu While
Close #1 'Datei Nummer 1 schlieяen
Range("A1").Value = strText' das ist dann wieder klar... na fein.

Gruя!
Bild

Betrifft: sorry, daя Dich meine Fragen nerven
von: ray
Geschrieben am: 21.03.2005 10:30:54
oT
Bild

Betrifft: AW: sorry, daя Dich meine Fragen nerven
von: MichaV
Geschrieben am: 21.03.2005 10:35:28
Hi Ray,
wenns mich genervt hдtte, hдtt ich nicht geantwortet.
Gruя!
Bild

Betrifft: AW: @Micha erklдr mal Bitte
von: UweD
Geschrieben am: 21.03.2005 10:20:57
Hallo

so:

Sub Laden()
    Dim strText As String
    DeineDatei = "C:\Temp\Test.txt"
    
    Open DeineDatei For Input As #1
    'reserviert einen E/A- Puffer fьr das einlesen einer sequenzillen Datei / hier Nr.1
    
    While Not EOF(1)
    ' mache folgendes bis EOF (END O FILE ) von DAteipuffer Nr1 erreicht ist
    
        Line Input #1, strText
        ' Liest eine Zeile von Datei1 in die Variable strText ein
        
    Wend
    'geht wieder zu While.. und ьberschreibt die Variable mit der nдchsten Zeile
    
    'Wenn EOF gelesen wurde, steht in der Variablen der Text der letzten Zeile
    
    Close #1
    ' gibt den E/A Puffer wieder frei
    
    Range("A1").Value = strText
    'schreibt den Variableninhalt in Zelle A1
    
End Sub

Gruя UweD
Bild

Betrifft: AW: @UweD - perfekte Erklдrung vielen Dank mT
von: ray
Geschrieben am: 21.03.2005 10:34:11
Hi Uwe, vielen Dank fьr Deine Mьhe.
Ich habe den code so eingegeben, aber ich bekommen nur seltsame Zeichen zurьck...(in der letzten Zeile steht "letzzte Zeile"
Dim strText As String
Open "c:\test.txt" For Input As #1
While Not EOF(1)
Line Input #1, strText
Wend
Close #1
MsgBox "" & strText
Was ist falsch?
Gruя ray
Bild

Betrifft: das kommt dabei raus:
von: ray
Geschrieben am: 21.03.2005 10:40:12
hi,
statt: "letzte Zeile" kommt "–ѕа°±" ?????

Bild

Betrifft: AW: das kommt dabei raus:
von: UweD
Geschrieben am: 21.03.2005 10:45:10
Hallo
lad mal die Test.txt hier hoch..
Bild

Betrifft: AW: das kommt dabei raus:
von: ray
Geschrieben am: 21.03.2005 10:55:14
Hi Uwe, hier der link
https://www.herber.de/bbs/user/19929.txt
Leider habe ich zudem gemerkt, daя es nicht die letzte sondern die vorletzte Zeile sein muя. Hab schon probiert mit EOF(1) -1 aber das geht nicht.
Wie baue ich vorletzte Zeile ein?
Viele Grьяe aus HH
ray
Bild

Betrifft: AW: das kommt dabei raus:
von: UweD
Geschrieben am: 21.03.2005 11:17:35
Hallo

hast du die Datei mal im editor geцffnet?
Ist keine reine ASCII -Datei, vermute ein Word Dokument.

Das hast du hochgeladen (als Ascii dargestellt)
–ѕа°±б>ю€ "$ю€€€!€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€м•Ѕ@ рњbjbjоFоF7М,М,€€€€€€ИJJJJJJJ^  ^Нґ&&&&&&&& $CRХ@2J&&&&&2JJ&&G\\\&J&J& \& \\JJ\& АQЛц-≈&\ ]0Н\’6’\^^JJJJ’J\∞&&\&&&&&22^^§F^^Zeile 1 Letzte Zeile фифўh«ќhG6UCJOJQJaJh{мCJOJQJaJhG6UCJOJQJaJ   ъъъъъgd«ќю5 01Рh:pEP∞В. ∞∆A!∞К"∞К#Р $Рn%∞∞u∞ РƒЬD@с€D StandardCJ_HaJmHsHtHJA@т€°J Absatz-StandardschriftartXi@у€≥X Normale Tabelleц4÷ l4÷aц 0k@ф€Ѕ0 Keine Liste€€€€ Ш0АА0Ш0ААxШ0ААxШ0ААxШ0ААx &е%fnаoH5d/7p6=§CEPYQG6UиkVa`Z√Je?hE0prZsgzб\Л–dЩlOҐ$§Gє ¬dWƒ«ќM–[p“Q#÷Vyў=Cз{м=Nмvс®чт8ыЗbыљ ь'ь€@АђЋC((`@€€Unknown€€€€€€€€€€€€GРЗz А€Times New Roman5РАSymbol3&Р Зz А€Arial"1Ирƒд©Л™У&Л™У&—рК 9іВБ4d2ГQрH р€?д€€€€€€€€€€€€€€€€€€€€€[p“€€Zeile 1DSDSю€аЕЯтщOhЂС+'≥ў0PИР ђЄƒ–д рь  $08@HдZeile 1eilDSlSlSl Normal.dotDSm1mMicrosoft Word 10.0@jжх-≈@jжх-≈ю€’Ќ’Ь.УЧ+,щЃ0р hp|ДМФ Ь§ђі Љ –д : Zeile 1 Titelю€€€ ю€€€ю€€€ ю€€€э€€€#ю€€€ю€€€ю€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€Root Entry€€€€€€€€ јF Щц-≈%А1Table€€€€€€€€ WordDocument€€€€€€€€7SummaryInformation(€€€€DocumentSummaryInformation8€€€€€€€€€€€€CompObj€€€€€€€€€€€€j€€€€€€€€€€€€€€€€€€€€€€€€ю€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ю€ €€€€ јFMicrosoft Word-Dokument MSWordDocWord.Document.8ф9≤q

Du muяt reinen Ascii erzeugen...
Wenn das vorliegt bekommst du so die Vorletzte Zeile


Sub Laden()
    Dim strText$, Vorletzte$
    Open "C:\Temp\Test.txt" For Input As #1
    While Not EOF(1)
        Vorletzte = strText
        Line Input #1, strText
    Wend
    Close #1
    MsgBox Vorletzte
End Sub

Gruя UweD
Bild

Betrifft: ergдnzung
von: ray
Geschrieben am: 21.03.2005 11:49:35
hallo uwe, hab grad gesehen, daя es entweder die vorletzte oder die letzte sein soll. die vorletzte nur dann, wenn die letzte "-" ausgibt.
Hab grad mal versucht das einzubauen geht aber nicht. Was mach ich den jetzt wieder falsch...
Dim strText$, Vorletzte$
DeineDatei = "C:\SFIRM32\sic\STA00127.STA"
Open DeineDatei For Input As #1
While Not EOF(1)
Line Input #1, strText
Wend

If strText = "-" Then
While Not EOF(1)
Vorletzte = strText
Line Input #1, strText
Wend
End If

Close #1

Range("A4").Value = strText

End Sub
Bild

Betrifft: AW: ergдnzung
von: UweD
Geschrieben am: 21.03.2005 12:08:24
VBA = gut???
So

Sub Laden()
Dim strText$, Vorletzte$
    DeineDatei = "C:\SFIRM32\sic\STA00127.STA"
    Open DeineDatei For Input As #1
    While Not EOF(1)
        Vorletzte = strText
        Line Input #1, strText
    Wend
    Close #1
    If strText = "-" Then strText = Vorletzte
    Range("A4").Value = strText
End Sub

Gruя UweD
Bild

Betrifft: wie einfach.... mT
von: ray
Geschrieben am: 21.03.2005 13:12:32
uwe, nachmal danke fьr Deine Geduld. Heute habe ich wieder mal richtig was gelernt. Eines verstehe ich aber noch nicht. Woher weiя das Prog, daя "Vorletzte" die Vorletzte Zeile ist????
Viele Grьяe
ray
Bild

Betrifft: AW: wie einfach.... mT
von: UweD
Geschrieben am: 21.03.2005 14:07:18
Hi

1)While Not EOF(1)
2) Vorletzte = strText
3) Line Input #1, strText
4)Wend
Die gesamte Schleife wird solange durchlaufen, bis EOF erkannt wird
2) Wenn das noch nicht so ist, wird Vorletzte mit dem Wert aus StrText belegt (im ersten Durchlauf ist das noch "" (also leer)
Bei 3) wird dann die erste Zeile gelesen
4) Rьcksprung zu 1)
1) immer noch kein EOF, daher
2) Jetzt wird Vorletzte mit dem Wert aus dem ersten Durchlauf gesetzt also Zeile 1
3) Zweite Zeile...
Irgendwann kommen wir zur letzten Zeile, dann steht in der Varablen Vorletzte eben die Vorletze Zeile Drin. Die Letzte wird dann in strText gelegt.
Jetz wird die Schleife wieder durchlaufen, aber jetzt wird beim Lesen eben EOF erkannt und das Programm macht bei Close weiter...

Gruя UweD
Bild

Betrifft: Vielen Dank Uwe, Du kannst super erklдren. oT
von: ray
Geschrieben am: 21.03.2005 16:10:01
oT
 Bild

Beiträge aus den Excel-Beispielen zum Thema "letzte Zeile einer *.txt nach Excel auslesen"