scr.Eval(strCodeRuleToEvaluate) Excel 2016 vs. M365
11.08.2023 09:31:31
Martin Kölsch
Ich lese schon seit einiger Zeit hier mit und habe auch schon ganz tolle Anregungen mitnehmen können.
Was mir auch gut gefällt ist der Umgangston, ihr seid toll.
Jetzt also mein erster Beitrag.
Ich komme nicht mehr weiter.
Mit erschrecken musste ich feststellen, dass eine Funktion, die auf Excel 2016 läuft auf dem neuen (Vorgabe von der IT) M365 nicht mehr läuft.
Ich generiere anhand von Treffern in einem String, abhängig von einer Vorgabe, eine Aussage:
Vorgabe: A1A B2B C3C D4D E5E F6F G7G H8H I9I J0J K1K ABC DEF EFG HIJ KLM ABCD EFGH IJKL
String: (A1A/B3B)+C3C+D4D+-D5D/G7G+KLM+(ABCD/EEEE)+AAA
Wahrheitsgehalt währe hier: True oder Wahr
(Wahr/Falsch)+Wahr+Wahr+Wahr / Wahr+Wahr+(Wahr/Falsch)+Falsch >>> Ausage wäre Wahr
In meiner Berechnung schaut das dann so aus:
(Wahr or Falsch) and Wahr and Wahr and Wahr or Wahr and Wahr and (Wahr or False) and Falsch
Den Wahrheitsgehalt überprüfen tut dann der folgender Abschnitt:
Set scr = CreateObject("MSScriptControl.ScriptControl")
scr.Language = "VBScript"
pp = scr.Eval(strCodeRuleToEvaluate)
pp bekommt hier Wahr oder Falsch zugeordnet, aber nur bei Excel 2016.
Sobald ich das Makro in M365 laufen lasse, dann passiert hier nichts mehr.
Jetzt habe ich zwei Fragen.
1. Kann M365 das nicht mehr oder muss ich eventuell ein AddOn installieren damit M365 das kann?
2. Gibt es eine Alternative um in M365 einen Wahrheitsgehalt zu generieren?
Vielen Dank schon mal vorab, dass ihr das Problem gelesen habt und darüber nachdenkt :-)
Grüße, Martin