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
Klotzkopp Geschrieben 21. Februar 2002 Geschrieben 21. Februar 2002 Vielleicht hilfts: SetLocale("de")
Flori Geschrieben 21. Februar 2002 Autor Geschrieben 21. Februar 2002 hm, schade....Idee klang gut..... Aber "Setlocale("de") ist in Excel 97 nicht bekannt....
Marfi Geschrieben 21. Februar 2002 Geschrieben 21. Februar 2002 Speicher die Datei doch als txt und benenn sie nachher um...
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
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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden