Microsoft Excel

Herbers Excel/VBA-Archiv

Leerzeile in txt-file

Betrifft: Leerzeile in txt-file von: Andi
Geschrieben am: 13.08.2004 09:29:22

Guten Morgen,

mit dem folgenden Code-Schnipsel, den ich im wesentlichen der online-Hilfe entnommen habe, füge ich einer bestehenden .txt-Datei eine Zeile hinzu:

Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.opentextfile("W:\UDAS Test\txt-files\Data-file-02-" & jahr & Format(monat, "00") & tag & ".txt", 8, 0)
f.write "4; " & s_zaehlerstand_1 & Chr(13) & Chr(10)
f.Close

das funktioniert auch, nur habe ich zwischen dem bestehenden Teil der Datei und dem, was neu hinzukommt eine Leerzeile, die ich da nicht haben möchte. Chr(127) für DEL und Chr(8) für Backspace hab' ich schon ausprobiert, aber da bekomme ich nur das kleine Kästchen für nicht darstellbare Zeichen ausgegeben, die Leerzeile bleibt.

Hat jemand eine Idee?

Vielen Dank schon mal & schönen Gruß,
Andi

  


Betrifft: AW: Leerzeile in txt-file von: sergiesam
Geschrieben am: 13.08.2004 09:36:22

Hi,

du kannst das ganze umdrehen. Schreib zuerst 13+10 und dann erst 4; & zählerstand. dann wird zuerst die Leerzeile gemacht und dann die Zeile geschrieben. Du musst nur beim allerersten Mal die erste Leerzeile manuell entfernen.

also:
f.write Chr(13) & Chr(10) & "4; " & s_zaehlerstand_1

Sam


  


Betrifft: AW: Leerzeile in txt-file von: Andi
Geschrieben am: 13.08.2004 09:47:34

Hi Sam,

vielen Dank für die schnelle Antwort!

Dieses manuelle Entfernen ist aber genau das Problem. Die xls-Datei mit dem Code wird alle 10 Minuten automatisch gestartet und beendet sich nach der Abarbeitung des Codes wieder. Dieses allererste Mal tritt also alle 10 Minuten auf, und ich hatte daher gehofft, dass man das Löschen der Leerezeile irgdendwie automatisieren kann...?

Schönen Gruß,
Andi


  


Betrifft: AW: Leerzeile in txt-file von: sergiesam
Geschrieben am: 13.08.2004 09:59:11

Hi,

ich weiß natürlich nicht die ganze geschichte über die Datei. Wenn du aber überprüfst, ob die datei beim ersten mal noch leer ist (FileLen = 0) dann kannst du auf die crlf verzichten.

Set f = fs.opentextfile("C:\test.txt", 8, 0)
If FileLen("C:\test.txt") = 0 Then
f.write "4; " & s_zaehlerstand_1
Else
f.write Chr(13) & Chr(10) & "4; " & s_zaehlerstand_1
End If
f.Close

Oder du findest einen andere Bedingung, die dir den ersten aufruf kennzeichnet.
Sam


  


Betrifft: AW: Leerzeile in txt-file von: Andi
Geschrieben am: 13.08.2004 10:29:36

Hi nochmal,

leer is die Datei leider nicht; da wird vor dem Aufruf durch meine Excel-Datei schon von einer anderen Anwendung was reingeschrieben.
Inzwischen hab' ich rausgefunden, dass das Problem mit der Leerzeile wegfallen würde, wenn diese andere Anwendung nach der letzten Zeile keinen Zeilenwechsel mehr machen würde. Tut sie aber, und darauf hab' ich leider keinen Einfluss. Ich hatte deshalb gehofft, dass es, vergleichbar mit Chr(13) & Chr(10) einen Steuerbefehl gibt für "lösche die letzte Zeile" oder für "gehe eine Zeile nach oben".

Vielen Dank für Deine Bemühungen,
Andi


 

Beiträge aus den Excel-Beispielen zum Thema "Leerzeile in txt-file"