Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Schreiben von Zellen in eine Textdatei

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Schreiben von Zellen in eine Textdatei (531 mal gelesen)
Axel.Strasser
Ehrenmitglied V.I.P. h.c.
Selbstständig im Bereich PLM/CAx



Sehen Sie sich das Profil von Axel.Strasser an!   Senden Sie eine Private Message an Axel.Strasser  Schreiben Sie einen Gästebucheintrag für Axel.Strasser

Beiträge: 4107
Registriert: 12.03.2001

Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!

erstellt am: 16. Dez. 2007 16:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Aus einer grösseren Tabelle muss ich die werte in eine Textdatei schreiben. Dies mach ich mit:

Code:
        LastRow = Sheets("Item").Cells(Rows.Count, 1).End(xlUp).Row    ' Output Item Table
        For i = 1 To LastRow
            out.Write Sheets("Item").Cells(i, 1).Value
            For j = 2 To 45
                out.Write vbTab & Sheets("Item").Cells(i, j)
            Next j
            out.Write vbCrLf
        Next i
        out.Close

Jetzt sollte nur beim Schreiben der Datei das Format aus der Tabelle verwendet werden (z.B. mehre Felder sind Datumsfelder, jetzt will ich beim Rausschreiben nur das Datum haben (wie dargestellt) und nicht die Uhrzeit auch noch).

Eigentlich wollte ich mir ersparen, dass ich für jedes einzelne Feld das Format mit angeben muss, also keine Schleife wie oben, sondern 45 einzelne Zeilen.

Axel

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 16. Dez. 2007 23:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Axel.Strasser 10 Unities + Antwort hilfreich

ungestestet, anstelle Write Print verwenden?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Axel.Strasser
Ehrenmitglied V.I.P. h.c.
Selbstständig im Bereich PLM/CAx



Sehen Sie sich das Profil von Axel.Strasser an!   Senden Sie eine Private Message an Axel.Strasser  Schreiben Sie einen Gästebucheintrag für Axel.Strasser

Beiträge: 4107
Registriert: 12.03.2001

Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!

erstellt am: 17. Dez. 2007 13:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Thomas,

hat mich leider auch nicht viel weitergebracht. Ich habe es jetzt noch mal in der Richtung versucht

Code:
out.Write vbTab & Format(Sheets("Item").Cells(i, j).Value, Sheets("Item").Cells(i, j).NumberFormat)

...aber so ganz bekomme ich den Format-String noch nicht richtig raus.

Axel

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 17. Dez. 2007 14:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Axel.Strasser 10 Unities + Antwort hilfreich


WYSIWYG.xls.txt

 
muss sagen ich bekomme das mit dem out.Write bei mir irgendwie nicht nachgebaut (fehlendes Wissen ;-))

ich habe mal testweise Ziffern, Datum, Zeit und Datum& Zeit und Verweise mit div.Formaten auf einem Blatt erstellt und mit dem untenstehendem Code
habe ich in der Txt-Datei genau das, was ich auch sichtbar in Xl habe.

Code:
Sub saveastxt()
Dim lngRow As Long
Dim lngLastRow As Long
Dim intColumn As Integer
Dim strPfad As String
Dim strName As String
Dim strValue As String

strPfad = "W:\"
strName = "Textdatei.txt"
strWrite = "Strwrite.txt" 'nur zum Test
Close

Open strPfad & strName For Output As #1
Open strPfad & strWrite For Output As #2 'nur zum Test
With ActiveSheet
  lngLastRow = .Cells(Rows.Count, 1).End(xlUp).Row
    For lngRow = 1 To lngLastRow
      For intColumn = 1 To Range("a1").End(xlToRight).Column
          strValue = strValue & .Cells(lngRow, intColumn).Text & vbTab
      Next
      strValue = Left(strValue, Len(strValue) - 1)
      Print #1, strValue
      Write #2, strValue 'nur zum Test setzt den Export in " "
    strValue = ""
    Next lngRow
End With
Close #1
Close #2
End Sub


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Axel.Strasser
Ehrenmitglied V.I.P. h.c.
Selbstständig im Bereich PLM/CAx



Sehen Sie sich das Profil von Axel.Strasser an!   Senden Sie eine Private Message an Axel.Strasser  Schreiben Sie einen Gästebucheintrag für Axel.Strasser

Beiträge: 4107
Registriert: 12.03.2001

Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!

erstellt am: 18. Dez. 2007 23:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Thomas,

danke, so scheint es jetzt auch zu klappen, wenn man den String zuerst zusammensetzt und dann insgesamt rausschreibt. Ich habe jetzt den Weg gewählt, das Problem an der Wurzel zu packen und sie gleich "richtig" in der Tabelle zu generieren, ist halt dann nicht an den Symptomen kuriert sondern an den Ursachen.

Axel

PS: Jetzt habe ich zuerst mal mein Projekt abgeschlossen und die Leute können am 1.1. live gehen 

[Diese Nachricht wurde von Axel.Strasser am 18. Dez. 2007 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz