Seite 1 von 1
[Gelöst] Basic-->benutzerdefiniertes Zahlenformat
Verfasst: Mo, 23.11.2015 14:02
von kannenklaus
Hallo
kann ich mit Basic auch ein benutzerdefiniertes Zahlenformat erstellen? Ich möchte, dass im Zellbereich B2:B2000 die Zahlen so "4,5 h" erscheinen. Der Code geht nicht.
Code: Alles auswählen
calcDoc=thisComponent
oRange=calcDoc.sheets(0).getCellRangeByName("b2:b2000")
oRange.NumberFormat = "#,# h"
Danke für Eure Hilfe
Re: Basic-->benutzerdefiniertes Zahlenformat
Verfasst: Mo, 23.11.2015 14:54
von Karolus
Hallo
Code: Alles auswählen
from com.sun.star.uno import RuntimeException
def set_format(*_):
doc = XSCRIPTCONTEXT.getDocument()
KEY = '#,# "h"'
numformats = doc.NumberFormats
locale = doc.CharLocale
cellrange = doc.Sheets.getByIndex(0).getCelRangeByName('B2:B2000')
try:
numformats.addNew(KEY, locale )
except RuntimeException:
pass
cellrange.NumberFormat = numformats.queryKey( KEY ,locale, False)
Achtung python - entsprechend benutzen oder nach basic übersetzen.
Re: Basic-->benutzerdefiniertes Zahlenformat
Verfasst: Mo, 23.11.2015 15:24
von kannenklaus
Hallo Karolus,
habe das umgesetzt leider ohne Wirkung
Code: Alles auswählen
Sub BenutzerFormat
calcDoc=thisComponent
KEY = "#,# h"
numformats = calcDoc.NumberFormats
locale = calcDoc.CharLocale
oRange = calcDoc.Sheets.getByIndex(0).getCellRangeByName("B2:B2000")
myFormat = numformats.queryKey( KEY ,locale, False)
oRange.NumberFormat = myFormat
end sub
Re: Basic-->benutzerdefiniertes Zahlenformat
Verfasst: Mo, 23.11.2015 16:01
von Karolus
Hallo
Nein, stumpf abgeschrieben hast du --
KEY = "#,# ""h"""
Re: Basic-->benutzerdefiniertes Zahlenformat
Verfasst: Mo, 23.11.2015 16:18
von kannenklaus
KEY = "#,# ""h"""
Dann kommen nur Zahlen und kein "h"
Re: Basic-->benutzerdefiniertes Zahlenformat
Verfasst: Mo, 23.11.2015 17:02
von Karolus
kannenklaus hat geschrieben:KEY = "#,# ""h"""
Dann kommen nur Zahlen und kein "h"
Das ist nicht mehr mein Problem, im der ersten Antwort steht eine getestete und funktionierende Lösung.
Re: Basic-->benutzerdefiniertes Zahlenformat
Verfasst: Mo, 23.11.2015 18:45
von Stephan
habe das umgesetzt leider ohne Wirkung
das Format das Du verwenden willst ist kein Format das in den innerhalb von OO schon vorhandenen Formaten existiert, es muss also erst zu diesen Formaten hinzugefügt werden bevor es angewendet werden kann
Code: Alles auswählen
Sub BenutzerFormat
calcDoc=thisComponent
KEY = "#,# ""x"""
numformats = calcDoc.NumberFormats
locale = calcDoc.CharLocale
oRange = calcDoc.Sheets.getByIndex(0).getCellRangeByName("B2:B2000")
myFormat = numformats.queryKey( KEY ,locale, True)
If myFormat = -1 Then
myFormat = numformats.addNew(KEY, locale)
End If
oRange.NumberFormat = myFormat
end Sub
Gruß
Stephan
Re: Basic-->benutzerdefiniertes Zahlenformat
Verfasst: Di, 24.11.2015 08:36
von kannenklaus
Hallo Stephan, danke jetzt läuft es
