Flori Geschrieben 21. Februar 2002 Geschrieben 21. Februar 2002 Hallo, habe ich da mal wieder ne "Innovation" (=Bug) von Microsoft entdeckt oder was ?!? Nunja, mal von vorne, folgendes Problem mit EXCEL 97 : Die Zellen der Tabelle sind als "Zahl mit 2 Dezimalstellen" definiert. Sieht dann ungefähr so aus : A B 1 23,00 123,23 2 23,45 34,23 3 12,12 124,44 Nun sollen die Inhalte gespeichert werden im *.prn-Format. Dazu wähle ich "Datei speichern unter..." und dann das *.prn-Format. Die Datei wird gespeichert und in der Datei steht dann so wie es sein sollte : 23,00 123,23 23,45 34,23 12,12 124,44 Da das ganze regelmäßig erfolgen soll, habe ich parallel zum Speichervorgang ein Makro aufgezeichnet. Führe ich nun aber das Makro aus, erstellt Excel mir zwar auch eine *.prn-Datei, aber so : 23.00 123.23 23.45 34.23 12.12 124.44 Auf den ersten Blick sieht das ziemlich gleich aus, aber mit dem Makro wird ein PUNKT als Dezimalzeichen geschrieben und nicht wie benötigt ein KOMMA ?!?!?! Wie kann das sein, daß da plötzlich nen anderes Zeichen eingesetzt wird, wenn man den Vorgang automatisiert ablaufen läßt ??! Ich finde das ziemlich widersinnig ! Bislang sind alle Versuche gescheitert, das ganze, mit KOMMA abzuspeichern, in VBA zu realisieren ?!?! Weiß jemand Rat wie ich doch noch ne Datei mit KOMMATA und Leerzeichen als Trennzeichen (ähnlich dem *.prn-Format, jedes andere wäre mir aber auch recht, hauptsache sieht so aus wie oben erwähnt !) abgespeichert bekomme ??? Hoffe mal, jemand wird schlau aus meiner Ausführung und kann mir da nen Tipp geben !?! P.S. Die Ländereinstellungen benutzen auf jeden Fall auch das Komma als Dezimalzeichen.... Gruß Flori Zitieren
Klotzkopp Geschrieben 21. Februar 2002 Geschrieben 21. Februar 2002 Vielleicht hilfts: SetLocale("de") Zitieren
Flori Geschrieben 21. Februar 2002 Autor Geschrieben 21. Februar 2002 hm, schade....Idee klang gut..... Aber "Setlocale("de") ist in Excel 97 nicht bekannt.... Zitieren
Marfi Geschrieben 21. Februar 2002 Geschrieben 21. Februar 2002 Speicher die Datei doch als txt und benenn sie nachher um... Zitieren
KarlBerg Geschrieben 21. Februar 2002 Geschrieben 21. Februar 2002 Hi, musst (soweit ich das überblicken kann) eigentlich net die ExportFunktion verwenden. Kannste ja auch selbst exportieren, dann kannste dein Format wählen wie du's willst. (Komma, Punkt, LeerZeichen, Slash, ... was du willst) hab mal was zusammen geknaupt Sub SaveInFile() Dim Zeile As String Dim DateiName As String DateiName = "C:\temp\PrmTest.txt" erg = Dir(DateiName) If erg <> "" Then If MsgBox("Die Datei """ & DateiName & """ existiert bereits!" & vbCrLf & "Löschen?", vbQuestion Or vbYesNo, "Löschen?") = vbYes Then Kill DateiName Else MsgBox "Die Daten werden an die bereits bestehende """ & DateiName & """ angehongen!", vbInformation, "Anhängen" End If End If For i = 1 To Tabelle1.UsedRange.Rows.Count Zeile = Tabelle1.Range("A" & i) & " " & Tabelle1.Range("B" & i) Open DateiName For Append As #1 Seek #1, LOF(1) + 1 Print #1, Zeile Close #1 Next i End Sub Hier darauf achten, dass dein Tabellenblatt auch "Tabelle1" heisst. Ausserdem werden hier nur Spalte A und B geprüft, ist aber beliebig veränderbar. Die Variabel DateiName sollte auch eingestellt werden. (Könnte man über ne InputBox machen) MfG KarlBerg Zitieren
Flori Geschrieben 22. Februar 2002 Autor Geschrieben 22. Februar 2002 Jo danke an alle Helfer ! Hab das Problem gelöst und die Datei nun tatsächlich selbst erstellt via open und print und close und allem was so dazu gehört. So konnte ich auch genau managen wieviele Leerzeichen an welcher Stelle eingefügt werden sollen. Die Formatierung der Datei ist nämlich ziemlich wichtig für das Prog, was die Datei anschließend mal importieren soll..... ...aber das alles noch zu erklären, würde den Rahmen hier sprengen.... Also nochmal Danke für die Ideen, Gruß Flori Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.