🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

LibreOffice API für Makros verstehen (Bsp. Bilder einfügen) ...

Alles zur Programmierung im LibreOffice.
Antworten
Reth
Beiträge: 64
Registriert: Fr 5. Apr 2019, 23:21

LibreOffice API für Makros verstehen (Bsp. Bilder einfügen) ...

Beitrag von Reth » So 4. Aug 2019, 17:13

Hallo zusammen,

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


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten