Guten Tag Listlinge,
in Calc möchte ich alle Tabellen auf den gleichen Stand bezüglich
Druckbereich und Cursorposition setzen.
Dazu gehe ich (versuche ich) mittels einer while- wend-Schleife
alle Tabellen durch und setze die entsprechenden Werte.
Die Messagebox innerhalb der Schleife zeigt mir auch einen
Durchlauf über alle Tabellen an. Es werden aber keine Werte
für die jeweiligen Tabellen gesetzt. Eine Fehlermeldung erhalte
ich auch nicht.
Ich weiss nicht mehr weiter. Vielleicht erkennt ja jemand von euch
den "Wurm".
'???
sub Druckbereiche ' ?
'???
' ???
' ? Deklaration der Variablen ?
' ???
dim document as object
dim dispatcher as object
dim oSheet as object
dim eSheets as object
dim args1(3) as new com.sun.star.beans.PropertyValue ' für den Druckbereich
dim args2(0) as new com.sun.star.beans.PropertyValue ' für die Cursorposition
' ???
' ? Definition der Variablen ?
' ???
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
eSheets = ThisComponent.getSheets.createEnumeration
'Druckbereich
args1(0).Name = "PrintArea"
args1(0).Value = "$A$1:$O$42;$A$43:$O$53"
args1(1).Name = "PrintRepeatRow"
args1(1).Value = "$A$1:$A$2"
args1(2).Name = "PrintRepeatCol"
args1(2).Value = ""
'Cursorposition
args2(0).Name = "ToPoint"
args2(0).Value = "$D$5"
' ???
' ? Durchlauf aller Tabellen ?
' ???
While eSheets.hasMoreElements
oSheet = eSheets.nextElement()
dispatcher.executeDispatch(document, ".uno:ChangePrintArea", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())
MsgBox "Nächster Tabellenname ist: " & oSheet.getName & "."
Wend
MsgBox "Druckbereiche wurden definiert!" & CHR$(13) &_
"Achten Sie auf eine Skalierung von 75% " & CHR$(13) &_
"und einen Rand von 1,9cm ringsherum."
end sub