Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formatiert in Textfile schreiben

Forumthread: Formatiert in Textfile schreiben

Formatiert in Textfile schreiben
08.05.2006 11:41:05
andS
Hallo Forum,
wie schreibe ich formatiert in eine Textdatei?
Verwende zum Schreiben folgenden Code:

Sub WriteFile()
Cells(4, "A").End(xlToRight).Select
endeCol = Selection.Column
Cells(4, "G").End(xlDown).Select
endeRow = Selection.Row
Open "c:\tmp\Textdatei.txt" For Output As #1
For z = 5 To endeRow
For j = 1 To endeCol
'        If Cells(z, j).Value = "" Then
'        End If
s = Cells(z, j).Value & "|"
temp = temp + s
Next j
Write #1, "DATA   |" & temp
temp = ""
Next z
Close #1
End Sub

Ich möchte eine Ausgabe in der Form:
DATA | 123| Test| dies ist ein Bsptest|
erreichen.
Mein Problem liegt darin, dass manche Spalten auch leer sein können. Dann erhalte ich einfach |||...
Es sollte aber immer die gleiche Formatierung vorliegen.
Eine Idee von mir wäre immer die Länge zu prüfen, falls diese Null ist, einfach mit Leerzeichen in dem String zu arbeiten. Dies müßte ich dann allerdings für 85 Spalten machen...
Gibt's dafür ne einfachere Lösung?
Grüße Andi
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formatiert in Textfile schreiben
08.05.2006 17:27:53
Erich
Hallo Andi,
probier mal
Sub WriteFile()
Dim endeCol%, endeRow&, strW$, strZ$, maxLen() As Integer, zz&, sp&
endeCol = Cells(4, "A").End(xlToRight).Column
endeRow = Cells(4, "G").End(xlDown).Row
ReDim maxLen(0 To endeCol)
For sp = 1 To endeCol
maxLen(sp) = Evaluate("=MAX(LEN(" & Cells(5, sp).Address() & ":" & _
Cells(endeRow, sp).Address() & "))")
Next sp
Open "c:\tmp\Textdatei.txt" For Output As #1
For zz = 5 To endeRow
strZ = "DATA   |"
For sp = 1 To endeCol
strW = Cells(zz, sp)
If Len(strW) < maxLen(sp) Then strW = String(maxLen(sp) - Len(strW), " ") & strW
strZ = strZ & " " & strW & "|"      ' wenn Leerzeichen vor dem Wert
'       strZ = strZ & strW & "|"       ' wenn kein Leerzeichen vor dem Wert
Next sp
'    Print #1, strZ                   '  mit " im Textfile
Write #1, strZ                   ' ohne " im Textfile
Next zz
Close #1
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige