Michael Dannenhöfers StarBasic / OpenOffice.org Basic FAQ:
7.1.22 Wie kann man das Zahlenformat auf Standardformate einstellen?
Gruß
lorbass
Zahlenformat setzen
Moderator: Moderatoren
Re: Zahlenformat setzen
Hey wonkwonk,
der Fehler liegt wahrscheinlich im falsch übergebenen Format-String. Du darfst nicht die Variante des UI verwenden!
müsste wahrscheinlich heissen:
Bevor Du so etwas verwendest, kannst Du Dir doch den entsprechenden Formatstring erzeugen lassen:
Die Methode erwartet 6 Parameter - siehe auch API com.sun.star.util.XNumberFormat -> generateFormat.
Das Ergebnis ist: "0.000". Setze ich den bei Dir ein und lasse mir den Formatcode ausgeben (msgbox), so kommt bei mir 10170 als Code.
Im übrigen solltest Du immer vorher abfragen, ob der Code nicht bereits existiert - ein zweites Mal lässt er sich nicht einfügen - gibt immer eine Fehlermeldung.
Also zuerst:
Liefert die Code-Index bzw. -1, falls es diesen Code nicht gibt.
Und dann klappt es auch mit der Zuordnung
Viele Grüße
Tom
der Fehler liegt wahrscheinlich im falsch übergebenen Format-String. Du darfst nicht die Variante des UI verwenden!
Code: Alles auswählen
NumberFormatId = NumberFormats.addNew("0,000", LocalSettings) '1 Dezimalen
Code: Alles auswählen
NumberFormatId = NumberFormats.addNew("0.000", LocalSettings) '1 Dezimalen
Code: Alles auswählen
msgbox NumberFormats.generateFormat(1,LocalSettings, true, false, 0, 4)
Das Ergebnis ist: "0.000". Setze ich den bei Dir ein und lasse mir den Formatcode ausgeben (msgbox), so kommt bei mir 10170 als Code.
Im übrigen solltest Du immer vorher abfragen, ob der Code nicht bereits existiert - ein zweites Mal lässt er sich nicht einfügen - gibt immer eine Fehlermeldung.
Also zuerst:
Code: Alles auswählen
msgbox NumberFormats.queryKey("0.000", LocalSettings,true)
Und dann klappt es auch mit der Zuordnung
Viele Grüße
Tom
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic