Hallo,
man kann ja manuell ein Textfeld (com.sun.star.drawing.XShape) erzeugen und diesem dann über "RMT > Verankerung > An der Zelle" einen Anker in einer Zelle zuweisen. Aber wie setze ich diesen Anker per Script?
Das kuriose:
Ich greife also auf com.sun.star.drawing.XShape zu und dort gibt es bei "Anchor" das Attribut "CellAddress" erst, wenn ich die Verankerung manuell hinzugefügt habe. Will ich im Script aber z.B. "oShape.Anchor.CellAddress.Row = 1" setzen, sagt er mir "unzulässiger Wert oder Datentyp". Hab ichs erstmal manuell hinzugefügt kann ich problemlos darauf zugreifen.
Das ganze hab ich in OOo 3.1.1 und LO 3.5.3 in Calc probiert.
Gruß,
[gelöst] Einem Textfeld Attribut CellAddress hinzufügen
Moderator: Moderatoren
[gelöst] Einem Textfeld Attribut CellAddress hinzufügen
Zuletzt geändert von Maggus am Do, 06.12.2012 16:09, insgesamt 1-mal geändert.
Maggus (:o)
Re: Einem Textfeld Attribut CellAddress hinzufügen
Ich habs endlich rausgefunden.
In diesem Beitrag hab ich den Entsprechenden Hinweis zur Lösung gefunden:
Aus MRI wurde mir diese Möglichkeit allerdings nicht ersichtlich.
Desweiteren habe ich herausgefunden, dass man dieses Attribut erst setzen kann, NACHDEM man mit z.B. Das Textfeld der Drawpage hinzugefügt hat. Warum auch immer...
In diesem Beitrag hab ich den Entsprechenden Hinweis zur Lösung gefunden:
Code: Alles auswählen
Sub Main
sheet = thiscomponent.sheets.getbyindex(0)'erstes Tabellenblatt
cell = sheet.getcellbyposition(1,1) 'Zielzelle B2
shape = sheet.DrawPage.getByIndex(0)'das Objekt mit Index 0
shape.Anchor = cell
End Sub
Desweiteren habe ich herausgefunden, dass man dieses Attribut erst setzen kann, NACHDEM man mit z.B.
Code: Alles auswählen
oDrawpage.Add(oShape)
Maggus (:o)