🙏 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. 🤗

Math-Formel per Makro erstellen

Alles zur Programmierung im LibreOffice.
Antworten
Alien
Beiträge: 9
Registriert: Sa 24. Sep 2011, 09:27

Math-Formel per Makro erstellen

Beitrag von Alien » Mo 13. Feb 2012, 07:22

Hallo zusammen,

ich würde gerne in LO-Draw eine Math-Formel per Makro einfügen. In dieser Einführung:

http://wiki.services.openoffice.org/wik ... ASIC_Guide

steht leider überhaupt nichts zu mathematischen Formeln.

Weiß jemand wie das geht?

Vielen Dank im Voraus

Eric March
Beiträge: 54
Registriert: Do 16. Jun 2011, 16:08

Re: Math-Formel per Makro erstellen

Beitrag von Eric March » Mo 13. Feb 2012, 19:31

Hallo!

Darf ich fragen woher diese Formel stammt die dort eingefügt werden soll?

Als Vergleich kann ich eine Tabellenzellenformel (in MS-XL) über Makrofunktionen einrichten. Das Aussehen der Formel muss aber mehr oder weniger weit vorprogrammiert sein damit das Makro das Eintragen managen kann. Woher also soll dein Makro die Rohdaten beziehen eine Formel zusammenzusetzen und dann einzubauen?

Eric March

Alien
Beiträge: 9
Registriert: Sa 24. Sep 2011, 09:27

Re: Math-Formel per Makro erstellen

Beitrag von Alien » Mo 13. Feb 2012, 20:26

Also mein Makro zeichnet ein Baumdiagramm, wo an die Zweige Wahrscheinlichkeiten angetragen werden, die der Benutzer per Inputbox eingeben muss. Bis jetzt funktioniert das wunderbar mit Dezimalzahlen. Es erscheinen also z.B nacheinander Inputboxen und der Benutzer gibt folgendes ein:
A
0,5
B
0,5
Dann wird ein Baumdiagramm gezeichnet mit den Ergebnissen A und B und auf den Zweigen dorthin steht jeweils 0,5.

Jetzt würde ich gerne auch Brüche unterbringen:

Wenn der Benutzer zum Beispiel 23/28 eingibt, soll auf dem Ast eben die mathematische Formel: {23 over 28} (gibt ja dann den Bruch 23 achtundzwanzigstel) stehen.

Diese 23/28 steht dann also in einer Variable, die durch die Inputbox "befüllt" wird. Und meine Frage war ja jetzt, wie ich aus der Variable mit dem Inhalt 23/28 diese Formel erzeugen kann. Ist die Frage damit beantwortet?

Eric March
Beiträge: 54
Registriert: Do 16. Jun 2011, 16:08

Re: Math-Formel per Makro erstellen

Beitrag von Eric March » Mi 15. Feb 2012, 21:27

Mit Baumdiagrammen kenne ich mich ja nun gar nicht aus…

Aber ich hätte wenigstens eine Idee: Da die Werte eingegeben werden ist es prinzipiell einfach diese Eingaben zu behandeln.
Wenn aber dieses Diagramm (was nicht nicht mit dem Begriff Formel gleichsetze) wiederum seine Größenwerte aus der Variable A beziehen kann und die Beschriftung der Werte aus einer Variable B (die sicherlich vom Typ String sein kann) dann sollte sich der Bruch zumindest schon mal als «23/28» anzeigen lassen. Daraus aber als Diagrammwertbezeichner ein Objekt zu machen? Da weiß ich nicht weiter. So eine MathFormel ist ja nun eben ein Objekt wie FontWork (=MSWord WordArt) eins ist, also nicht der typische simple Text wie er bei Diagrammen verwendet wird. Mir scheint, dass das mehr ein Kunstwerk denn ein speziell beschriftetes Diagramm am Schluss ergäbe.
Um mich aus dem Fenster zu lehnen: es mag Programme geben die das können, aber LibreOffice traue ich es nicht zu solches (und das ist hier wohl der Kern) automatisiert aufzubauen. Außer die Beschriftungsmöglichkeiten dieses Diagramms erlauben doch satt simplem Text auch Objekte anzugeben; da kann ich mir auch Grafiken (Logos etwa) vorstellen die wiederum Objekte sind.

Eric March

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Math-Formel per Makro erstellen

Beitrag von F3K Total » Mi 15. Feb 2012, 22:50

Hi,
nach längerer Suche habe ich das hier zusammenbauen können, viel Erfolg damit.

Code: Alles auswählen

Sub S_bruch_in_Draw

dim apos As New com.sun.star.awt.Point
apos.X = 2000  
apos.Y = 3000
sinput = inputbox ("Bitte Bruch eingeben, Trenner /","Eingabe")
aBruch=split(sinput,"/")
for i=0 to uBound (aBruch)
sBr=rtrim(ltrim(aBruch(i)))
abruch(i)=sBr
next

odoc=Thiscomponent
opage=odoc.drawpages(0)
oShape = oDoc.createInstance("com.sun.star.drawing.OLE2Shape")
oShape.CLSID = "078B7ABA-54FC-457F-8551-6147e776a997"
opage.Add(oShape)
oShape.Model.Formula = "{"+abruch(0)+"} over {"+abruch(1)+"}"
oShape.Position = apos
oShape.Size = oShape.OriginalSize
End Sub
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

Alien
Beiträge: 9
Registriert: Sa 24. Sep 2011, 09:27

Re: Math-Formel per Makro erstellen

Beitrag von Alien » Do 16. Feb 2012, 15:14

Unglaublich, vielen, vielen Dank!

Das hätte ich wohl nie gefunden.


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