Seite 1 von 1
[gelöst] Das Tabellenblatt/Sheet einer DrawPage herausfinden
Verfasst: Mo, 20.02.2012 10:43
von Maggus
Hallo,
ich bin gerade verwundert darüber, dass man anscheinend nicht ohne weiteres herausfinden kann, zu welchem Sheet eine DrawPage gehört.
mit
kann ich die DrawPage ansprechen, aber wenn ich jetzt irgendwo im Dokument z.B. Zugriff auf ein Zeichnungsobjekt habe, wie kriege ich heraus, in welchem Tabellenblatt es sich befindet?
Ich hätte sowas vermutet wie:
Also praktisch vom Zeichenobjekt auf die DrawPage zum Sheet.
Das einzige was mir jetzt einfällt wäre eine Schleife über alle Sheets und deren DrawPage und da z.B. eine hasByName Abfrage. Aber geht das nicht einfacher?
Gruß,
Re: Das Tabellenblatt / Sheet einer DrawPage herausfinden
Verfasst: Mo, 20.02.2012 12:30
von Karolus
Hallo
Benutzt du Xray oder mri ? -solltest du aber tun!
Anscheinend hat ein sheet und die zugehörige Drawpage den
gleichen Index
Karo
Re: Das Tabellenblatt / Sheet einer DrawPage herausfinden
Verfasst: Mo, 20.02.2012 12:50
von Frieder D.
Hallo Maggus
Wie bekommst du den Zugriff auf das Zeichenobjekt?
Normalerweise weißt du doch durch den Zugriff, auf welcher Tabelle es ist.
Es sei den es wird durch ein Event (z.B.Klicken auf.) der Zugang zu dem Object erreicht.
(oEvent.Source )
Dann kannst du aber herausfinden, auf welcher Tabelle du dich gerade befindet:
Code: Alles auswählen
sSheetName=ThisComponent.CurrentController.ActiveSheet.Name
iSheetIndex=ThisComponent.CurrentController.ActiveSheet.getCellByPosition(0,0).CellAddress.Sheet
Gruß Frieder
Re: Das Tabellenblatt / Sheet einer DrawPage herausfinden
Verfasst: Mo, 20.02.2012 12:56
von Maggus
Hallo Karolus,
entweder hast du mich nicht verstanden, oder ich verstehe deine Aussage nicht ganz.
Ich habe Zugriff auf ein Zeichnungsobjekt und möchte herausfinden auf welchem Sheet es sich in der DrawPage befindet. Vorgegeben ist also
nur das Objekt und
kein Index.
Ist jetzt kein akkutes Problem, will einfach nur mal wissen, ob das so einfach geht.
Karolus hat geschrieben:Benutzt du Xray ...?
Selbstverständlich
Gruß,
Re: Das Tabellenblatt / Sheet einer DrawPage herausfinden
Verfasst: Mo, 20.02.2012 13:02
von Maggus
Hallo Frieder,
Ja, das stimmt.
Frieder D. hat geschrieben:Es sei den es wird durch ein Event (z.B.Klicken auf.) der Zugang zu dem Object erreicht.
In dem Zusammenhang bin ich auch auf die Frage gestoßen.
Es ist wie gesagt auch kein Problem, sondern nur eine Verständnisfrage, weil es mich irgendwie wundert, dass man von einer DrawPage nicht einfach so sagen kann, an welchem Sheet sie hängt.
Also gehe ich richtig der Annahme, dass es so wie oben beschrieben (über Parent, etc.) nicht geht?
Gruß,
Re: Das Tabellenblatt / Sheet einer DrawPage herausfinden
Verfasst: Mo, 20.02.2012 13:05
von Maggus
Karolus hat geschrieben:Anscheinend hat ein sheet und die zugehörige Drawpage den gleichen Index
Moment mal, ein Sheet hat einen Index zwischen 0 und Sheet Anzahl minus 1
Eine DrawPage ist in Calc immer auf einem Sheet und da jedes Sheet nur eine DrawPage hat, müsste doch jede DrawPage den Index 0 haben, oder irre ich??
Gruß,
Re: Das Tabellenblatt / Sheet einer DrawPage herausfinden
Verfasst: Mo, 20.02.2012 13:19
von Stephan
oder irre ich??
Ja Du irrst, was Du erkennen würdest wenn Du den Code von Karolus ausprobiert hättest.
Ich jedenfalls kann die Aussage von Karolus nur bestätigen.
Gruß
Stephan
Re: Das Tabellenblatt / Sheet einer DrawPage herausfinden
Verfasst: Mo, 20.02.2012 13:20
von Karolus
Hallo
Von einer selektierten Schaltfläche komme ich zum Tabellenobjekt per →Mri→Selektion:
~.getByIndex(0).getAnchor.getSpreadsheet
Edit:
Du kannst auf 2 Wegen zur selben Drawpage kommen:
1. ThisComponent.sheets(2).getDrawpage()
2. ThisComponent.getDrawPages.getByIndex( 2 )
Gruß Karo
Re: Das Tabellenblatt / Sheet einer DrawPage herausfinden
Verfasst: Mo, 20.02.2012 13:30
von Maggus
Karolus hat geschrieben:~.getByIndex(0).getAnchor.getSpreadsheet
DAS habe ich gesucht!

Also gehts doch so. Da wär ich ja nie drauf gekommen, das über Anchor zu finden...
Danke dir!
Also müsste es statt wie angenommen so heißen:
PS: den 2. Weg bin ich bisher nie gegangen. So gehts also auch. Wieder dazugelernt. Danke
Gruß,