[gelöst] Einem Textfeld Attribut CellAddress hinzufügen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Maggus
****
Beiträge: 108
Registriert: Mo, 01.08.2005 13:32
Kontaktdaten:

[gelöst] Einem Textfeld Attribut CellAddress hinzufügen

Beitrag von Maggus »

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ß,
Zuletzt geändert von Maggus am Do, 06.12.2012 16:09, insgesamt 1-mal geändert.
Maggus (:o)
Maggus
****
Beiträge: 108
Registriert: Mo, 01.08.2005 13:32
Kontaktdaten:

Re: Einem Textfeld Attribut CellAddress hinzufügen

Beitrag von Maggus »

Ich habs endlich rausgefunden.
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
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.

Code: Alles auswählen

oDrawpage.Add(oShape)
Das Textfeld der Drawpage hinzugefügt hat. Warum auch immer...
Maggus (:o)
Antworten