Prüfen ob Cursor in einer Textdatei in einer neuen Zeile steht

  • Excel

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Lightsource.

    Prüfen ob Cursor in einer Textdatei in einer neuen Zeile steht

    Hallo!

    Ich hab eine Textdatei in der in jeder Zeile ein Pfad steht.
    Mit VBA füge ich Zeilen dazu:

    Visual Basic-Quellcode

    1. Open paths(3) For Append As #2
    2. Print #2, name & ";#;" & ActiveWorkbook.FullName
    3. Close


    Wie kann ich, bevor ich eine Zeile hinzufüge, prüfen ob der Cursor in der Texdatei in einer neuen Zeile steht? Und wenn es nicht so ist eine neue Zeile beginnen bevor ich meinen Text in die Datei schreibe?

    Ich möchte damit verhindern das mein Text direkt an einen bestehenden Text angefügt wird und immer in einer eigenen Zeile steht. (aber ohne unnötige leerzeilen dazwischen)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „fette_sau“ ()

    entweder du fügst noch ein & vbCrLf an die Zeile an oder beherzigst was in der Hilfe steht.

    Da Print # ein Abbild der Daten in die Datei schreibt, müssen Sie die Daten voneinander trennen, damit sie richtig ausgegeben werden. Wenn Sie Tab ohne Argument verwenden, um die Ausgabeposition an den Anfang des nächsten Ausgabebereichs zu verschieben, schreibt Print # auch die zwischen den Ausgabebereichen liegenden Leerzeichen in die Datei.

    Anmerkung Wenn Sie zu einem späteren Zeitpunkt Daten aus einer Datei mit der Input #-Anweisung lesen möchten, sollten Sie die Daten mit der Write #-Anweisung schreiben und die Print #-Anweisung vermeiden. Write # stellt die Integrität der einzelnen Datenfelder sicher, da mit dieser Anweisung die einzelnen Datenfelder voneinander getrennt werden, so daß sie später mit Input # eingelesen werden können. Write # sorgt darüber hinaus dafür, daß die Daten bei allen Gebietsschema-Einstellungen richtig eingelesen werden können.
    Wie kann ich, bevor ich eine Zeile hinzufüge, prüfen ob der Cursor in der Texdatei in einer neuen Zeile steht? Und wenn es nicht so ist eine neue Zeile beginnen bevor ich meinen Text in die Datei schreibe?
    Versuch's mal damit:

    Visual Basic-Quellcode

    1. Dim x As Long
    2. Dim t As String
    3. Open paths(3) For Binary As #2
    4. x = LOF(2)
    5. Seek #2, x - 1
    6. t = String(2, " ")
    7. Get #2, , t
    8. Close #2
    9. Open paths(3) For Append As #2
    10. If t <> vbCrLf Then Print #2,
    11. Print #2, name & ";#;" & ActiveWorkbook.FullName
    12. Close #2
    @lightsource: Mein Problem sind nicht die von mir geschriebenen Zeilen, sondern das die Textdatei auch manuell verändert werden kann, und deshalb die Datei nicht immer in einer neuen Zeile enden muss.

    @Eierlein: Super! Funktioniert perfekt. Danke :thumbsup: