Man kann in Calc mit der Maus mehrere Tabellenblätter markieren. Auf diese kann man
auch
zugreifen.
Die aktuelle Selektion kann mit getCurrentSelection() erhalten.
oDoc = ThisComponent
oSelect = oDoc.getCurrentSelection()
Nun hat man aber eigenltich nicht die Tabellenblätter ausgewählt sondern eine Zelle
oder einen
Zellenbereich. Das Tabellenblatt steht in diesem Service.
Innerhalb der Selektion stehen nun die ausgewählten Zellen über den Index zu Verfügung.
0 = Zelle/Bereiche des ersten gewählten Blattes
1 = Zelle/Bereiche des zweiten gewählten Blattes
usw.
Über das Zell oder Bereichsobjekt kommt man dann an das eigentliche Ziel: das Tabellenblatt.
Zelle=oSelect.getByIndex(0)
oBaltt=Zelle.getSpreadsheet()
Nun das ganze in einem und in einer Schleife:
oDoc = ThisComponent
oSelect = oDoc.getCurrentSelection()
for i=0 to oSelect.Count-1
Zelle=oselect.getbyindex(i)
oBlatt=
Zelle.getspreadsheet()
' ......
' jezt das Blatt bearbeiten
' .....
next i
Leider habe ich noch nicht herausbekommen, wie man prüfen kann, das tatsächlich auch
Tabellenblätter markiert sind.
Markiert man mehrere Bereiche in einem Arbeitsblatt, wird in der Schleife immer nur
dieses
bearbeitet.