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

Forumthread: Textdatei erzeugen - Zeilenlänge nicht abschneiden

Textdatei erzeugen - Zeilenlänge nicht abschneiden
SteffenS
Hallo Zusammen,
ich erzeuge mit:
Dim strTemp as String
Open dat_fil For Append As #1
'1.Zeile setzen
For j = vspalte To bspalte
strTemp = strTemp & WS.Cells(azeile, j).Value & ";"
Next j
Print #1, strTemp & Chr(13)
Close #1
Der String in der Variablen strTemp kann sehr lang sein, so dass die Variable diesen nicht aufnehmen kann.
Wie schaffe ich es dennoch alle Werte in die textdatei zu schreiben?
Danke im Voraus.
VG
Steffen Schmerler
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Textdatei erzeugen - Zeilenlänge nicht abschneiden
01.07.2010 02:02:41
fcs
Hallo Steffen,
ich hab jetzt die Grenzen für Excel 2003 nicht präsent.
Unter Excel 2007 gilt Variablen vom Typ String:
Zeichenfolgen variabler Länge können bis zu 2 Milliarden (oder 2^31) Zeichen enthalten.
Zeichenfolgen fester Länge können 1 bis etwa 64 KB (2^16) Zeichen enthalten.
Mit folgender Testprozedur konnte ich ohne Probleme 50 Spalten mit fast 1500 Zeichen pro Zelle in eine Textdatei schreiben, also über 70000 Zeichen pro Zeile.
Sub aatest()
Dim azeile As Long, vspalte As Long, bspalte As Long, j As Long
Dim strTemp As String, dat_fil As String, WS As Worksheet
Set WS = ActiveSheet
dat_fil = "C:\Users\Public\Test\TextDatei.txt"
Open dat_fil For Append As #1
'1.Zeile setzen
vspalte = 1: bspalte = 50
For azeile = 1 To WS.Cells.SpecialCells(xlCellTypeLastCell).Row
For j = vspalte To bspalte
strTemp = strTemp & WS.Cells(azeile, j).Value & ";"
Next j
Print #1, strTemp & Chr(13)
MsgBox Len(strTemp)
strTemp = ""
Next azeile
Close #1
End Sub
Was für riesige Zellinhalte versuchst du denn da in den Textstring zu schreiben?
Gruß
Franz
Anzeige
AW: Textdatei erzeugen - Zeilenlänge nicht abschneiden
01.07.2010 08:57:49
ing.grohn
Hallo Steffen,
versuch doch die einzelnen Zellen in die Datei zu schreiben.
Du schliesst ja eh die einzelnen Zeilen der Datei mit CHR(13) ab.
(Zeilenende einer sequentiellen Datei ist eigentlich Cursor-Return Line-Feed)
(hab ich nicht getestet)
Mit freundlichen Grüßen
Albrecht
Anzeige
AW: Textdatei erzeugen (geht so nicht)
01.07.2010 09:50:17
ing.grohn
Hallo Steffen,
mein Vorschlag geht so nicht!!
Jedes Print #1 erzeugt ein vbCrLf ob mit oder ohne ";"
MfG
Albrecht
AW: so gehts: Textdatei erzeugen -
01.07.2010 10:10:04
ing.grohn
Hallo Steffen,
ich konnte es nicht lassen.
So sollte es gehen:
alle Zellen einzeln mit Print # schreiben. Am Ende ein Semikolon!
Neue Zeile mit Print #1, vbCr
Sub abtest()
Dim azeile As Long, vspalte As Long, bspalte As Long, j As Long
Dim strTemp As String, dat_fil As String, WS As Worksheet
Set WS = ActiveSheet
dat_fil = "C:\eigene Dateien\TextDatei2.txt"
Open dat_fil For Output As #1
'1.Zeile setzen
vspalte = 1: bspalte = 4
For azeile = 1 To WS.Cells.SpecialCells(xlCellTypeLastCell).Row
For j = vspalte To bspalte
Print #1, WS.Cells(azeile, j).Value & "";
Next j
Print #1, vbCr
'MsgBox Len(strTemp)
strTemp = ""
Next azeile
Close #1
End Sub

Mit freundlichen Grüßen
Albrecht
Anzeige
danke
02.07.2010 16:24:39
SteffenS
für Eure hilfe,
kommerischeweise geht es jetzt auch mit meiner Version.
VG
Steffen
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
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