von mecki_45 » So, 22.08.2004 09:38
Hallo zusammen,
ich möchte in einer Zellvorlage neben verschiedenen Zeichenattributen auch das Zahlenformat entsprechend anpassen. Hierzu gibt es einen Schalter "Cell.NumberFormat" - nur bekomme ich diesen nicht korrekt ans laufen.
Mein Wunsch wäre folgender:
Dia_xxxx =Y wobei xxxx für eine laufende Nr.steht.
Wie stelle ich das in einem Makro korrekt an?
Hier mein bisheriges Makro als Beispiel.
Sub Zellvorlage_DIA_erstellen
DIM oDoc As Object
DIM oMyCellStyle As Object
DIM CText As Object
DIM CContent As Object
'>>> Abfrage, ob Seitenvorlage vorhanden
'>>> Ist die Vorlage vorhanden, wird diese Routine beendet
On Error Goto Fehler
Stardesktop.CurrentComponent.StyleFamilies.getByName("CellStyles").getByName("Dia")
Msgbox "Zellenvorlage vorhanden"
exit sub
'>>> Vorlage ist nicht vorhanden und wird angelegt
Fehler:
Msgbox "Zellenvorlage ist nicht vorhanden und wird angelegt"
oDoc = StarDesktop.CurrentComponent
'neue Zellformatvorlage erstellen und Formatierungen festlegen
oMyCellStyle = oDoc.createInstance( "com.sun.star.style.CellStyle" )
oDoc.getStyleFamilies().getByName( "CellStyles" ).insertByName( "Dia", oMyCellStyle )
'>>> Schriftart setzen - *ARIAL*
oMyCellStyle.CharFontName = "Comic Sans MS"
'>>> Schriftgröße setzen - *10*
oMyCellStyle.CharHeight = 10
'>>> Schriftfarbe setzen - Hellblau
oMyCellStyle.CharColor = 255
'>>> Schriftattribut setzen - *FETT*
oMyCellStyle.CharWeight = com.sun.star.awt.FontWeight.BOLD
'>>> Horizontale und vertikale Ausrichtung - *ZENTRIERT*
oMyCellStyle.HoriJustify = com.sun.star.table.CellHoriJustify.CENTER
oMyCellStyle.VertJustify = com.sun.star.table.CellVertJustify.CENTER
'>>> Zahlenformat, angepaßt auf Dia - *Dia_xxxx*
oMyCellStyle.NumberFormat = "Dia_"+"000#"
'>>> Zell-Linie setzen - *UNTEN, GRAU*
linie = CreateUnoStruct("com.sun.star.table.BorderLine")
With linie
.Color = RGB( 160, 160, 160 )
.InnerLineWidth = 0
'löschen mit .OuterLineWidth = 0 möglich
.OuterLineWidth = 15
.LineDistance = 0
End With
' oMyCellStyle.TopBorder = linie
oMyCellStyle.BottomBorder = linie
' oMyCellStyle.LeftBorder = linie
' oMyCellStyle.RightBorder = linie
end Sub
Sub Zellvorlage_verwenden
oDoc = StarDesktop.CurrentComponent
oBereich = oDoc.getCurrentSelection()
ThisComponent.CurrentController.Select(oBereich)
With ThisComponent.CurrentSelection
.CellStyle = "Dia"
End With
End sub
Hoffe das hilft euch weiter
Grüßle
Alex
Hallo zusammen,
ich möchte in einer Zellvorlage neben verschiedenen Zeichenattributen auch das Zahlenformat entsprechend anpassen. Hierzu gibt es einen Schalter "Cell.NumberFormat" - nur bekomme ich diesen nicht korrekt ans laufen.
Mein Wunsch wäre folgender:
Dia_xxxx =Y wobei xxxx für eine laufende Nr.steht.
Wie stelle ich das in einem Makro korrekt an?
Hier mein bisheriges Makro als Beispiel.
Sub Zellvorlage_DIA_erstellen
DIM oDoc As Object
DIM oMyCellStyle As Object
DIM CText As Object
DIM CContent As Object
'>>> Abfrage, ob Seitenvorlage vorhanden
'>>> Ist die Vorlage vorhanden, wird diese Routine beendet
On Error Goto Fehler
Stardesktop.CurrentComponent.StyleFamilies.getByName("CellStyles").getByName("Dia")
Msgbox "Zellenvorlage vorhanden"
exit sub
'>>> Vorlage ist nicht vorhanden und wird angelegt
Fehler:
Msgbox "Zellenvorlage ist nicht vorhanden und wird angelegt"
oDoc = StarDesktop.CurrentComponent
'neue Zellformatvorlage erstellen und Formatierungen festlegen
oMyCellStyle = oDoc.createInstance( "com.sun.star.style.CellStyle" )
oDoc.getStyleFamilies().getByName( "CellStyles" ).insertByName( "Dia", oMyCellStyle )
'>>> Schriftart setzen - *ARIAL*
oMyCellStyle.CharFontName = "Comic Sans MS"
'>>> Schriftgröße setzen - *10*
oMyCellStyle.CharHeight = 10
'>>> Schriftfarbe setzen - Hellblau
oMyCellStyle.CharColor = 255
'>>> Schriftattribut setzen - *FETT*
oMyCellStyle.CharWeight = com.sun.star.awt.FontWeight.BOLD
'>>> Horizontale und vertikale Ausrichtung - *ZENTRIERT*
oMyCellStyle.HoriJustify = com.sun.star.table.CellHoriJustify.CENTER
oMyCellStyle.VertJustify = com.sun.star.table.CellVertJustify.CENTER
'>>> Zahlenformat, angepaßt auf Dia - *Dia_xxxx*
oMyCellStyle.NumberFormat = "Dia_"+"000#"
'>>> Zell-Linie setzen - *UNTEN, GRAU*
linie = CreateUnoStruct("com.sun.star.table.BorderLine")
With linie
.Color = RGB( 160, 160, 160 )
.InnerLineWidth = 0
'löschen mit .OuterLineWidth = 0 möglich
.OuterLineWidth = 15
.LineDistance = 0
End With
' oMyCellStyle.TopBorder = linie
oMyCellStyle.BottomBorder = linie
' oMyCellStyle.LeftBorder = linie
' oMyCellStyle.RightBorder = linie
end Sub
Sub Zellvorlage_verwenden
oDoc = StarDesktop.CurrentComponent
oBereich = oDoc.getCurrentSelection()
ThisComponent.CurrentController.Select(oBereich)
With ThisComponent.CurrentSelection
.CellStyle = "Dia"
End With
End sub
Hoffe das hilft euch weiter
Grüßle
Alex