kämpfe mich gerade verzweifelt durch die API von LibreOffice, die man in Makros verwendet. Leider hab ich noch nicht wirklich eine gute Beschreibung/Dokumentation gefunden. (Habe zwar das hier gefunden, aber finde es furchtbar unübersichtlich und schwer zu bedienen - habe z.B. bisher vergeblich gesucht, woher das GraphicObjectShape seine Eigenschaften Position und Size erbt??? Finde es einfach nicht!!!).
Aktuell versuche ich, Bilder in Calc via Makro einzufügen. Dazu habe ich einen Bsp. Code aus dem Web gefunden, der zwar funktioniert, aber ich möchte ihn gern verstehen! Leider komme ich da nicht wirklich weiter (Code ist unten angefügt). Z.B. möchte ich verstehen, was da mit der Bildgröße rumgerechnet wird und warum das nötig ist (es ergibt sich daraus leider nicht die Originalgröße des Bildes bzw. das Originalseitenverhältnis).
Wo kann man denn da Dokumentation und Hilfe herbekommen?
Leider muss ich zugeben, dass da die Doku von VBA sehr viel besser ist (ich weiss, dass da ein Multimillionen Doller Unternehmen dahintersteckt - aber auch das Java API Doc ist seitdem es existiert m.M. nach deutlich besser und intuitiver aufgebaut, die waren mit Version 1.0 auch keine Multimillionen Dollar Firma - man findet Dinge selbst und in kürzester Zeit!). Aber vllt. liegt es ja auch an mir und ich hab den richtigen Zugang noch nicht gefunden.
Daher die Bitte bzw. Frage: Woher bekomme ich denn die entsprechenden Infos, um selbstständig zu lernen, was wie wann zu tun ist - z.B. beim Einfügen von Bildern in Calc?
Dank euch schon mal!
Ciao
Hier noch der Code, so wie ich ihn im Web gefunden habe:
Code: Alles auswählen
Sub Main
Dim point As New com.sun.star.awt.Point
Dim Size As New com.sun.star.awt.Size
Dim CellPosition As New com.sun.star.awt.Point
dim oGrafikGroesse as new com.sun.star.awt.Size
Doc = thisComponent
mySheet = Doc.Sheets(0) 'erstes Tabellenblatt
Page = mySheet.drawPage
NewGrafik = doc.createInstance("com.sun.star.drawing.GraphicObjectShape")
NewGrafik.GraphicURL = "http://www.redemptionquick.com/lackey/sets/setimages/general/003-Did-God-Really-Say-R.jpg"
NewGrafik.name = "Test" 'Namen für die Grafik setzen = URL der Grafik
point.x = 100
point.y = 100
NewGrafik.Position = point 'Position der Grafik festlegen
page.add(NewGrafik) 'Grafik einfügen
oBildGroesse = NewGrafik.GraphicObjectFillBitmap.GetSize
hoehe = oBildGroesse.height ' in Pixeln
breite = oBildGroesse.width 'in Pixeln
const tpm = 0.017636684
oGrafikGroesse.height = hoehe * 27' TwipsPerPixelX * tmp * 1.860
oGrafikGroesse.width = breite * 27' TwipsPerPixelY * tmp * 1.771
NewGrafik.setSize(oGrafikGroesse) 'Grösse der Grafik setzen
End Sub