Ergebnis beliebiger Calc-Tabellenformel in Script ausrechnen

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

Moderator: Moderatoren

mikeleb
*******
Beiträge: 1427
Registriert: Fr, 09.12.2011 16:50

Re: Ergebnis beliebiger Calc-Tabellenformel in Script ausrechnen

Beitrag von mikeleb »

Hallo,

einen Textstring in eine Rechnung umzuwandeln bedeutet praktisch eine Computeralgebra zu schreiben. Im Rahmen der Extension Dmaths und darin GDmaths hat Gilles Daurat so etwas eingebaut, um Funktionswerte von (als Text) eingegebenen Funktionen berechnen zu können.
Den Teil habe ich mal extrahiert und in den Anhang verfrachtet.
Es werden Klammern, die üblichen Operationszeichen (+,-,/,*,^) und sin, cos, tan, exp, rac (der französische Ausdruck für Wurzel) und log ausgewertet.
Allerdings muss der Ausdruck mathematisch korrekt sein (5+-3 führt zu einem Fehler) und darf keine Leerzeichen enthalten. Wird allerdings versucht eine Wurzel aus einer negativen Zahl zu ziehen, wird es als undefinerter Ausdruck erkannt.
Dateianhänge
funktionsberechnung im makro.odt
(12.75 KiB) 115-mal heruntergeladen
Gruß,
mikeleb
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Ergebnis beliebiger Calc-Tabellenformel in Script ausrechnen

Beitrag von balu »

@Stephan

Ja okay, deine Problembeschreibung mit mottco habe ich verstanden, da wohl nicht nur ich das schon gesehen habe das die Adressbezüge nicht stimmen. Du hattest ja in dem Code ja auch schon diesbezüglich einen Kommentar hinterlassen.
Quelltext mottco hat geschrieben: 'Problem ist das aktive Zelle innerhalb der Gesamtselektion nicht zu bestimmen ist
'wird jedoch gebraucht, weil Standardverhaklten von Calc anders als Excel
'deshalb:

'nur eine Zelle ist die aktive, aus dieser bedingte Formatierung lesen
Dabei kann ich dir aber leider nicht behilflich sein, da dies mein momentaniges Wissen bei weitem überschreitet.



@mikeleb
Danke für den extrahierten Code.

Anfangs hatte ich immer das sau blöde Gefühl das mein Vorgehen mit etlichen "For ... next" und "If ... then" nicht das wirklich wahre ist, aber nun sehe ich das ganze mit anderen Augen.

einen Textstring in eine Rechnung umzuwandeln bedeutet praktisch eine Computeralgebra zu schreiben.
Sehe ich genau so.



Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Antworten