Re: [de-users] Re: Starbasic: fuehrende Nullen in Calc

2009-08-25 Diskussionsfäden Martin Jenniges

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



[de-users] Re: Starbasic: fuehrende Nullen in Calc

2009-08-22 Diskussionsfäden Martin Jenniges

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



Re: [de-users] Re: Starbasic: fuehrende Nullen in Calc

2009-08-22 Diskussionsfäden Jan

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



Re: [de-users] Re: Starbasic: fuehrende Nullen in Calc

2009-08-22 Diskussionsfäden Volker Heggemann

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

2009-08-22 Diskussionsfäden Volker Heggemann

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