Re: [de-users] Re: Starbasic: fuehrende Nullen in Calc
Hallo Volker, vielen Dank, ich habe es hingekriegt. Und noch danke an Alle, die gepostet haben. viele Gruesse Martin martinjenni...@skynet.be Volker Heggemann schrieb: Sorry, ich hatte die eigendliche Funktion vergessen anzuhängen! Jetzt noch mal alles Komplett - geht sogar mit Copy & Paste: * Sub SetValue Dim oDoc As Object, oSheet As Object, oCell As Object oDoc=ThisComponent oSheet=oDoc.Sheets.getByName("Tabelle1") oCell=oSheet.getCellByPosition(0,0) 'A1 oCell.setValue(23658) oCell.NumberFormat = FindCreateNumberFormatStyle("00.000,00", odoc) 'hier kann der unten aufgeführte Code für ein eigenes Zahlenformat rein 'oCell.NumberFormat=2 '23658.00 'oCell.SetString("oops") 'oCell.setFormula("=FUNCTION()") 'oCell.IsCellBackgroundTransparent = TRUE 'oCell.CellBackColor = RGB(255,141,56) End Sub Function FindCreateNumberFormatStyle(ByVal sFormat As String,doc As Object) As Long Dim aLocale As New com.sun.star.lang.Locale Dim oFormats As Object Set oFormats = doc.getNumberFormats() Dim formatNum As Long formatNum = oFormats.queryKey(sFormat, aLocale, True) If (formatNum = -1) Then formatNum = oFormats.addNew(sFormat, aLocale) If (formatNum = -1) Then formatNum = 0 End If FindCreateNumberFormatStyle = formatNum End Function So , das ist dann auch getestet! mfg Volker - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Re: Starbasic: fuehrende Nullen in Calc
Martin Jenniges schrieb: Hallo Rainer, ich habe wohl vergessen, fuer Uneingeweihte hinzuzufuegen, dass Starbasic gleich OO-Basic ist; also die Programminterne Makrosprache. Ich will in einem Script viele Zellen bez fuehrende Nullen formatieren und nicht nur per Menue Format. Sorry, ich hatte die eigendliche Funktion vergessen anzuhängen! Jetzt noch mal alles Komplett - geht sogar mit Copy & Paste: * Sub SetValue Dim oDoc As Object, oSheet As Object, oCell As Object oDoc=ThisComponent oSheet=oDoc.Sheets.getByName("Tabelle1") oCell=oSheet.getCellByPosition(0,0) 'A1 oCell.setValue(23658) oCell.NumberFormat = FindCreateNumberFormatStyle("00.000,00", odoc) 'hier kann der unten aufgeführte Code für ein eigenes Zahlenformat rein 'oCell.NumberFormat=2 '23658.00 'oCell.SetString("oops") 'oCell.setFormula("=FUNCTION()") 'oCell.IsCellBackgroundTransparent = TRUE 'oCell.CellBackColor = RGB(255,141,56) End Sub Function FindCreateNumberFormatStyle(ByVal sFormat As String,doc As Object) As Long Dim aLocale As New com.sun.star.lang.Locale Dim oFormats As Object Set oFormats = doc.getNumberFormats() Dim formatNum As Long formatNum = oFormats.queryKey(sFormat, aLocale, True) If (formatNum = -1) Then formatNum = oFormats.addNew(sFormat, aLocale) If (formatNum = -1) Then formatNum = 0 End If FindCreateNumberFormatStyle = formatNum End Function So , das ist dann auch getestet! mfg Volker - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Re: Starbasic: fuehrende Nullen in Calc
Martin Jenniges schrieb: Hallo Rainer, ich habe wohl vergessen, fuer Uneingeweihte hinzuzufuegen, dass Starbasic gleich OO-Basic ist; also die Programminterne Makrosprache. Ich will in einem Script viele Zellen bez fuehrende Nullen formatieren und nicht nur per Menue Format. viele Gruesse Dann meinst du sicher so etwas hier: Du hast ein Stück Code (wie dieses hier) das eine Zelle mit etwas füllt?! ** Codeschnipsel von Andrew * Sub SetValue Dim oDoc As Object, oSheet As Object, oCell As Object oDoc=ThisComponent oSheet=oDoc.Sheets.getByName("Sheet1") oCell=oSheet.getCellByPosition(0,0) 'A1 oCell.setValue(23658) 'hier kann der unten aufgeführte Code für ein eigenes Zahlenformat rein 'oCell.NumberFormat=2 '23658.00 'oCell.SetString("oops") 'oCell.setFormula("=FUNCTION()") 'oCell.IsCellBackgroundTransparent = TRUE 'oCell.CellBackColor = RGB(255,141,56) End Sub *** Aber du möchtest, noch ein eigenes Zahlenformat definieren? Dann machst du das so: *** oCell.NumberFormat = FindCreateNumberFormatStyle("00.000,00", doc) *** Ich hoffe so hilft es dir? mfg Volker - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org
Re: [de-users] Re: Starbasic: fuehrende Nullen in Calc
Hallo Martin, die Lösung von Rainer ist aus meiner Sicht schon perfekt. Es gibt jetzt zwei Möglichkeiten. Entweder es handelt sich um einen zusammenhängenden immer gleichen Bereich im dem dein Script nur aktuelle Zahlen einträgt, dann würde ich wie Rainer vorgeschlagen hat die Zellen vorher per Hand formatieren. Sollte dir der Weg missfallen, so kannst du auch per makro den Zellen die Zellvorlage zuweisen. Schau dir dafür mal die Eigenschaften der Zelle mit Xray oder dbg_properties genauer an. Ich vermute numberformat sollte deine gesuchte Eigenschaft sein. Viele Grüße Jan Martin Jenniges schrieb: Hallo Rainer, ich habe wohl vergessen, fuer Uneingeweihte hinzuzufuegen, dass Starbasic gleich OO-Basic ist; also die Programminterne Makrosprache. Ich will in einem Script viele Zellen bez fuehrende Nullen formatieren und nicht nur per Menue Format. viele Gruesse Martin Jenniges martinjenni...@skynet.be Rainer Schock schrieb: Ich hoffe allerdings dass Starbasic das selbe wie OpenOffice ist! Unter Umständen müsste man eine Formatierung bei "Benutzerdefiniert" "00.000" eingeben. - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org - To unsubscribe, e-mail: users-unsubscr...@de.openoffice.org For additional commands, e-mail: users-h...@de.openoffice.org