Dezimaltrennzeichen für Output

Liebe www-Gemeinde,
ich versuche aus excel (2010) ein Setup-File für Linux zu schreiben. Dafür muss als Dezimaltrennzeichen ein . (Punkt) verwendet werden. In excel verwende ich üblicherweise das Komma als Trennzeichen.
Auch wenn ich vor dem Befüllen der Variablen setze:
Application.UseSystemSeparators = False
wird offensichtlich als Dezimaltrennzeichen ein Komma verwendet, was unter Linux natürlich als neuer Parameter interpretiert wird.
Der Aufbau meiner Setup Datei lautet in etwa:

Application.UseSystemSeparators = False
WarmLeit = Cells(25, 9).Value
Open „C:\01_Arbeit\Setup.inp“ For Output As #1
Print #1, „cond,constant,“ & WarmLeit
Close #1
Application.UseSystemSeparators = True

Kann mir jemand sagen, wie ich einen Punkt als Dezimaltrennzeichen für WarmLeit bekomme?

Vielen Dank schon mal vorab.
MfG MwieMichel

ähm, kann man dass nicht einfach über die Systemsteuerung erledigen?

Kann mir jemand sagen, wie ich einen Punkt als
Dezimaltrennzeichen für WarmLeit bekomme?

Hallo MwieMichel,

Option Explicit

Sub tt()
Dim WarmLeit, appEditor
Cells(25, 9).Value = 3.14
WarmLeit = Cells(25, 9).Value
Open „C:\01_Arbeit\Setup.inp“ For Output As #1
Print #1, „cond,constant,“ & Replace(CStr(WarmLeit), „,“, „.“)
Close #1
appEditor = Shell(„notepad.exe C:\01_Arbeit\Setup.inp“, vbMaximizedFocus)
End Sub

Gruß
Reinhard

Kann mir jemand sagen, wie ich einen Punkt als
Dezimaltrennzeichen für WarmLeit bekomme?

Hallo MwieMichel,

Hallo Reinhard,

Option Explicit

Sub tt()
Dim WarmLeit, appEditor
Cells(25, 9).Value = 3.14
WarmLeit = Cells(25, 9).Value
Open „C:\01_Arbeit\Setup.inp“ For Output As #1
Print #1, „cond,constant,“ & Replace(CStr(WarmLeit), „,“, „.“)
Close #1
appEditor = Shell(„notepad.exe C:\01_Arbeit\Setup.inp“,
vbMaximizedFocus)
End Sub

Bist 'n Held!!! Prolem gelöst! Herzlichen Dank!!!

Gruß
Reinhard

MfG MwieMichel

Hallo Fronk,

ähm, kann man dass nicht einfach über die Systemsteuerung
erledigen?

Das dachte ich auch. Die Systemsteuerung habe ich versucht mit
Application.UseSystemSeparators = False
auf das richtige Trennzeichen umzustellen.
So würde man das bei CSV (comma seperated values) Dateien machen, egal ob Ein- oder Auslesen.
Bei „echtem“ Text ist das offensichtlich anders.

MfG MwieMichel

Hallo MwieMichel,

ähm, kann man dass nicht einfach über die Systemsteuerung
erledigen?

Das dachte ich auch.

ich GLAUBE Fronk meinte die manuelle Trennzeicheneinstellung
in der Systemsteuerung. Das wirkt sich aber auf alle Programme aus, speziell Office-Programme. So globale Änderungen vermeide ich sofern
möglich.

Die Systemsteuerung habe ich versucht mit
Application.UseSystemSeparators = False
auf das richtige Trennzeichen umzustellen.

Woher soll Excel wissen was das RICHTIGE Trennzeichen ist?
Wenn schon, so mein Gedankengang, dann so:

Sub tt()
Application.UseSystemSeparators = False
Application.DecimalSeparator = „.“
Application.ThousandsSeparator = „,“
'andrer Code
Application.UseSystemSeparators = True
End Sub

Aber in deinem Fall nützt das nix. Es wirkt sich nicht auf das
Trennzeichen im PRINT Zellenwert aus.

PS: professioneller Code benutzt kein #1. Sie benutzen FreeFile.
Also so:
Dim FF as Long
FF=FreeFile
Open „C:\MistEintracht0:3gegenDortmund\fluch.txt“ for Output as #FF
usw.

So würde man das bei CSV (comma seperated values) Dateien

Deute das lieber als characters seperated Values. Denn das gilt in
Amerika. Hier in D ist das Trennzeichen das Semikolon.

Gruß
Reinhard

Hi Reinhard,

ich GLAUBE Fronk meinte die manuelle Trennzeicheneinstellung
in der Systemsteuerung.

ja, da GLAUBST Du richtig. :wink:
Das würde ich als erstes versuchen, aber Du hast Recht das betrifft ja ALLE Anwendungen!

Ich habe zwischenzeitlich noch eine Möglichkeit entdeckt:

(für Excel 2007) Exceloptionen -> Erweitert -> Haken bei „Trennzeichen von Betriebssystem übernehmen“ raus. -> eigenes Trennzeichen eintragen.

Das betrifft dann wenigstens „nur“ Excel. :wink:

Gruß
Fronk

hi,

ups, hab überlesen das Dir bereits geholfen wurde.

Gruß
Fronk

Hallo Reinhard,
hab schon immer vermutet, dass ich keinen professionellen Code schreibe. Aber jetzt hab ich es schwarz auf weiss :wink:.
Danke für Eure Unterstützung.
MfG MwieMichel