Zum Inhalt springen

VBA/Excel : speichern von Komma/Puntk in *.prn-Datei ??!?!


Flori

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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....:D

Also nochmal Danke für die Ideen,

Gruß Flori

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...