von MikeRo » Mi, 27.04.2011 17:21
Ich habe mal wieder ein Problem, zu dem ich keine Lösung finde.
Ich erstelle mit Folgendem Makro einen Tabellenrahmen.
Code: Alles auswählen
Sub Rahmen
LetzterDatensatz = Positionen+11
'Am Ende über Gesamtsumme herausfinden im Moment Fix
Dim oLinie as new com.sun.star.table.BorderLine
with oLinie
.Color = rgb(0, 0, 0)
.outerLineWidth = 40
End with '(AnfangSpalte,AngfangZeile,EndeSpalte,EndeZeile)
Ergebnis = oSheet.getCellRangeByPosition(0,9,LetzteSpalte,LetzterDatensatz)
Ergebnis.TopBorder = oLinie
Ergebnis.BottomBorder = oLinie
Ergebnis.LeftBorder = oLinie
Ergebnis.RightBorder = oLinie
ReDim oLinie2 as new com.sun.star.table.BorderLine
with oLinie2
.Color = rgb(0, 0, 0)
.outerLineWidth = 120
End with
Ergebnis = oSheet.getCellRangeByPosition(0,10,LetzteSpalte,10)
Ergebnis.TopBorder = oLinie2
Ergebnis.BottomBorder = oLinie2
Ergebnis = oSheet.getCellRangeByPosition(0,LetzterDatensatz,LetzteSpalte,LetzterDatensatz)
Ergebnis.TopBorder = oLinie2
Ergebnis.BottomBorder = oLinie2
End Sub
Jetzt sollen die Werte in den Zellen aber nicht direkt am rechten Rand kleben, daher muss ich den Abstand einstellen. Ich habe zwar ein Makro aufgezeichnet aber das geht nur, wenn das Dokument offen ist und aktiv ist. Da das Dokument aber unsichtbar bearbeitet und dann fertig ausgespuckt wird. ist das unnütz
Code: Alles auswählen
REM ***** BASIC *****
sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$10:$Y$18"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(3) as new com.sun.star.beans.PropertyValue
args2(1).Name = "AlignmentMargin.RightMargin"
args2(1).Value = 100
dispatcher.executeDispatch(document, ".uno:AlignmentMargin", "", 0, args2())
end sub
Weiß jemand Rat?
Ich habe mal wieder ein Problem, zu dem ich keine Lösung finde.
Ich erstelle mit Folgendem Makro einen Tabellenrahmen.
[code]Sub Rahmen
LetzterDatensatz = Positionen+11
'Am Ende über Gesamtsumme herausfinden im Moment Fix
Dim oLinie as new com.sun.star.table.BorderLine
with oLinie
.Color = rgb(0, 0, 0)
.outerLineWidth = 40
End with '(AnfangSpalte,AngfangZeile,EndeSpalte,EndeZeile)
Ergebnis = oSheet.getCellRangeByPosition(0,9,LetzteSpalte,LetzterDatensatz)
Ergebnis.TopBorder = oLinie
Ergebnis.BottomBorder = oLinie
Ergebnis.LeftBorder = oLinie
Ergebnis.RightBorder = oLinie
ReDim oLinie2 as new com.sun.star.table.BorderLine
with oLinie2
.Color = rgb(0, 0, 0)
.outerLineWidth = 120
End with
Ergebnis = oSheet.getCellRangeByPosition(0,10,LetzteSpalte,10)
Ergebnis.TopBorder = oLinie2
Ergebnis.BottomBorder = oLinie2
Ergebnis = oSheet.getCellRangeByPosition(0,LetzterDatensatz,LetzteSpalte,LetzterDatensatz)
Ergebnis.TopBorder = oLinie2
Ergebnis.BottomBorder = oLinie2
End Sub[/code]
Jetzt sollen die Werte in den Zellen aber nicht direkt am rechten Rand kleben, daher muss ich den Abstand einstellen. Ich habe zwar ein Makro aufgezeichnet aber das geht nur, wenn das Dokument offen ist und aktiv ist. Da das Dokument aber unsichtbar bearbeitet und dann fertig ausgespuckt wird. ist das unnütz
[code]REM ***** BASIC *****
sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$10:$Y$18"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(3) as new com.sun.star.beans.PropertyValue
args2(1).Name = "AlignmentMargin.RightMargin"
args2(1).Value = 100
dispatcher.executeDispatch(document, ".uno:AlignmentMargin", "", 0, args2())
end sub[/code]
Weiß jemand Rat?