Ich möchte gerne per Makro ein Formularfeld (grafische Schaltfläche) platzieren. Zugriff habe ich mir über den Befehl
Code: Alles auswählen
thisComponent.Sheets().getbyName("Tabelle").DrawPage.Forms.getbyName("Formular").getbyName("Feldname")
Im Netz habe ich eine Lösung gefunden bei der folgender Code verwendet wird
Code: Alles auswählen
myPos.X = [x]
myPos.Y = [y]
myDrawpage = thisComponent.Sheets().getbyName("Name").Drawpage
for i = 0 to myDrawpage.count - 1
myShape = myDrawpage(i)
if myShape.supportsservice("com.sun.star.drawing.ControlShape") then
if myShape.control.name = ("Feldname") then
myShape.Position = myPos
end if
end if
next
Mit X-Ray kommt man hier auch nicht weiter. An der Stelle
Code: Alles auswählen
myDrawpage = thisComponent.Sheets().getbyName("Name").Drawpage(i)
Zudem bin ich irgendwie von der Strukturierung verwirrt. Eigentlich existiert mein Formularfeld doch als Teil eines Formulars auf einer "Drawpage". Zumindest würde ich den Code
Code: Alles auswählen
thisComponent.Sheets().getbyName("Name").DrawPage.Forms.getbyName("Formular").getbyName("Feldname")
Code: Alles auswählen
thisComponent.Sheets().getbyName("Name").Drawpage(i).control.name
Ich bin auf jeden Fall ziemlich verwirrt. Wäre schön, wenn jemand Licht in mein Dunkel bringen könnte...
_________________
Moderationshinweis
Thema verschoben von OOo Calc nach Makros und allgemeine Programmierung, wo alle Themen zur individuellen Programmierung hingehören. – lorbass, Moderator