Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1164to1168
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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
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

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige