| Startseite | Inhalt
StarBasic / OpenOffice.org Basic FAQ
Fragen und Infos: starbasic@dannenhoefer.de

Zurück Vor |
| 7.3.6 Wie kann man Grafiken in ein Sheet einbetten?
Also versuche ich's mal. Grafikobjekte liegen innerhalb eines CALC-Sheets in dem Object DrawPage. Jedes Sheet hat eine eigene Drawpage. 'Aufruf des Sheets und der Drawpage Doc = thisComponent mySheet = Doc.Sheets(0) Page = mySheet.drawPage Um auf eine einzelne Grafik zuzugreifen, muß man den Index innerhalb der Drawpage wissen. Um die Grafik zuzuweisen wird eine Instanz des Objekts benötigt. Grafik= doc.createInstance("com.sun.star.drawing.GraphicObjectShape") Grafik = Page.getbyIndex(0) Die wichtigste Information dieses Objektes ist die GraphicURL. Diese wird verwendet um ein neues Graphikobjekt zu erzeugen und einzufügen. Das erste Element kann man nicht in eine zweite Drawpage einfügen. (Zumindestens habe ich es nicht hinbekommen). NeueUrl=Grafik.GraphicURL Jetzt wird ein neues Grafikshape erzeugt. NewGrafik= doc.createInstance("com.sun.star.drawing.GraphicObjectShape") Für diese braucht man noch die Zieladresse und Höhe/Größe Dim Point As New com.sun.star.awt.Point Dim Size As New com.sun.star.awt.Size Point.x = 1000 Point.y = 1000 Size.Width = 10000 Size.Height = 10000 Zuweisen der Werte NewGrafik.GraphicURL=NeueUrl NewGrafik.Position=Point NewGrafik.Size=Size Neues Sheet aktiveren und einfügen mySheet = Doc.Sheets(1) Page = mySheet.drawPage Page.add(NewGrafik) So jetzt das Ganze noch mal in einem Stück: (Voraussetzung: In Sheet 1 ist eine Grafik) sub GrafikausSheet1nach2 Doc = thisComponent mySheet = Doc.Sheets(0) Page = mySheet.drawPage Grafik= doc.createInstance("com.sun.star.drawing.GraphicObjectShape") Grafik = Page.getbyIndex(0) NeueUrl=Grafik.GraphicURL NewGrafik= doc.createInstance("com.sun.star.drawing.GraphicObjectShape") Dim Point As New com.sun.star.awt.Point Dim Size As New com.sun.star.awt.Size Point.x = 1000 Point.y = 1000 Size.Width = 10000 Size.Height = 10000 NewGrafik.GraphicURL=NeueUrl NewGrafik.Position=Point NewGrafik.Size=Size mySheet = Doc.Sheets(1) Page = mySheet.drawPage Page.add(NewGrafik) end sub |
Seitenanfang |

2003 - 2009 von Michael Dannenhöfer |
Letzte Aktualisierung: 06.04.2009