[gelöst] Das Tabellenblatt/Sheet einer DrawPage herausfinden

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [gelöst] Das Tabellenblatt/Sheet einer DrawPage herausfinden

Re: Das Tabellenblatt / Sheet einer DrawPage herausfinden

von Maggus » Mo, 20.02.2012 13:30

Karolus hat geschrieben:~.getByIndex(0).getAnchor.getSpreadsheet
DAS habe ich gesucht! :D 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:

Code: Alles auswählen

MeinSheetName = MeinShape.Anchor.Spreadsheet.Name
PS: den 2. Weg bin ich bisher nie gegangen. So gehts also auch. Wieder dazugelernt. Danke

Gruß,

Re: Das Tabellenblatt / Sheet einer DrawPage herausfinden

von Karolus » Mo, 20.02.2012 13:20

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

von Stephan » Mo, 20.02.2012 13:19

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

von Maggus » Mo, 20.02.2012 13:05

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

von Maggus » Mo, 20.02.2012 13:02

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

von Maggus » Mo, 20.02.2012 12:56

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

von Frieder D. » Mo, 20.02.2012 12:50

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

von Karolus » Mo, 20.02.2012 12:30

Hallo
Benutzt du Xray oder mri ? -solltest du aber tun!

Code: Alles auswählen

ThisComponent.getDrawPages.getByIndex( 3 )
Anscheinend hat ein sheet und die zugehörige Drawpage den gleichen Index

Karo

[gelöst] Das Tabellenblatt/Sheet einer DrawPage herausfinden

von Maggus » Mo, 20.02.2012 10:43

Hallo,

ich bin gerade verwundert darüber, dass man anscheinend nicht ohne weiteres herausfinden kann, zu welchem Sheet eine DrawPage gehört.
mit

Code: Alles auswählen

MeineDrawPage = thisComponent.Sheets(3).DrawPage
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:

Code: Alles auswählen

MeinSheetName = MeinShape.Parent.Parent.Name
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ß,

Nach oben