Text als Formel auswerten

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Text als Formel auswerten

von Karolus » So, 27.05.2007 23:02

Hallo Fincher

Ein relativ einfacher Workaround wäre, die Gleichung mittels:
=VERKETTEN("=";A1;B1;C1)
in die Zelle zu schreiben und dann direkt (aus der selektierten Zelle) folgendes Makro zu starten:

Code: Alles auswählen

sub TextFormat_entfernen
rem define variables
dim document   as object
dim dispatcher as object
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "NumberFormatValue"
args1(0).Value = 0
dispatcher.executeDispatch(document, ".uno:NumberFormatValue", "", 0, args1())
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "StringName"
args2(0).Value = ThisComponent.CurrentSelection.string
dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args2())
end sub
Daneben gibts auch eine 'Auswertungs-funktion' - der zugehörige Makrocode ist aber recht umfangreich und läuft nicht in allen Fällen http://www.ooo-portal.de/index.php?modu ... Auswertung

Gruß Karo

von fincher » Di, 22.05.2007 20:54

Alles klar, hab's fast vermutet ...

Jedenfalls vielen Dank für die Antwort!

von Toxitom » Di, 22.05.2007 17:27

Hey fincher,

Als Notlösung würde mir selbst lediglich einfallen, für jeden möglichen Operator eine eigene Bedingung zu implementieren.
Nicht Notlösung - was anders wird dir gar nicht übrig bleiben. Ein Textzeichen kannst du meines Wissens nach nicht mehr in eine Operator verwandeln - bleibt also nur die Fallunterscheidung.
Selbst wenn du eine benutzerdefinierte Funktion in Basic schreibst - auch da bleibt dir nur die Fallunterscheidung.

Gruss
Thomas

Text als Formel auswerten

von fincher » Di, 22.05.2007 07:43

Hallo zusammen!

Konnte leider weder in der Calc-Hilfe, in der OOo-Wiki, noch hier im Forum Infos zu meinem Problem finden - ergo muss ich euch belästigen! ;)

Kurz gesagt, möchte ich einen Text als Formel auswerten lassen. Sprich ich habe z.B. drei adjazente Zellen, deren inhalt ich verkette und dann gerne wie eine Formel behandeln lassen würde. Ich hätte mir das ganze ungefähr so vorgestellt:

Code: Alles auswählen

   |  A  | B | C |              D                 |
---+-----+---+---+--------------------------------+---
 1 | 500 | / | 2 | =WERT(VERKETTEN("=";A1;B1;C1)) |
Funktioniert aber natürlich nicht, da die Funktion WERT nur Zahlen auswertet.

Als Notlösung würde mir selbst lediglich einfallen, für jeden möglichen Operator eine eigene Bedingung zu implementieren.

Hat vielleicht jemand eine bessere Lösung für mich parat?

Vielen Dank schon mal!
fincher

Nach oben