Supportnet / Forum / Tabellenkalkulation
Export Exceldatei in "Textdatei" über VBA
Frage
Folgendes Ich hab das Problem das ich aus einem Worksheet einer Exceldatei eine "Textdatei" (Extension ändert sich fortlaufend) generieren muss.
Klappt auch alles ganz wunderbar, ich habe aber nun 2 Probleme:
1. Ich hab strikte File-konventionen und bei dem Export werden die Daten einer Zeile mit Tab getrennt und ich brauch aber ein Space.
Code zum Speichern sieht ungefähr so aus:
------------------------------------------------------------------------
ActiveWorkbook.SaveAs Filename:="C:\533_000\" & Dateiname, FileFormat:=xlText, CreateBackup:=False
-------------------------------------------------------------------------
Gibt es hier eine Möglichkeit über nen Parameter wie das Fileformat z.B. am Ende gleich das Tab durch Space zu ersetzen?
2. Desweiteren hab ich eine wissenschaftliche Zellformatierung mit 6 Dezimalstellen die wie folgt aussieht:
3.273547E+00 <---- momentanes Format
+3.273547E+00 <------ gebrauchtes Format
komischer Weise schreibt er bei negativen Werten das Vorzeichen wunderbar vor die Mantisse nicht aber bei positiven Zahlen.
Antwort 1 von Beverly
Hi,
zu deiner 1. Frage: vielleicht hilft dieser Code als Anregung
zu deiner 2. Frage: ungetestet - evtl. das Zellformat vor dem Export ins benutzerfdefinierte Format "+"0,00E+00 umwandeln.
Bis später,
Karin
zu deiner 1. Frage: vielleicht hilft dieser Code als Anregung
Sub textdateien_erstellen2()
Dim Fso
Dim fsoDatei
Dim raBereich
Dim loZeile As Long
raBereich = Range("A1:C50")
Set Fso = CreateObject("Scripting.FileSystemObject")
Set fsoDatei = Fso.OpenTextFile("C:\Test\Text.txt", 8, True)
For loZeile = 1 To UBound(raBereich)
fsoDatei.Write raBereich(loZeile, 1) & ";" & raBereich(loZeile, 2) & ";" & raBereich(loZeile, 3) & " "
Next
fsoDatei.Close
End Sub
zu deiner 2. Frage: ungetestet - evtl. das Zellformat vor dem Export ins benutzerfdefinierte Format "+"0,00E+00 umwandeln.
Bis später,
Karin
Antwort 2 von DeadS
Hm also das mit dem benutzerdefinierten format geht schonmal nicht hab ich auch schon versucht, da gibts dann mit den Minuswerten probleme weil er da dann jeweils nen + davor setzt

