Seite 1 von 1
Calc Makro-Funktionen rechnen beim Programmstart nicht
Verfasst: Mi 22. Apr 2015, 11:32
von hwoehrle
Hallo,
habe folgendes, kurioses Problem (bei LO 4.4.2.2 auf Windows 7 64-bit)
Ich erstelle eine Calc-Datei mit Makro-Funktionen und verwende diese in der Berechnung der Zellen.
Zur Veranschaulichung:
Code: Alles auswählen
function textschneid(s as string) as string
textschneid=left(s,5)
end function
Die Funktion liefert für eine Zelle B1 =textschneid("blablablablablab") brav das erwartete Ergebnis.
Wenn ich die Datei nun speichere und wieder öffne, steht in B1 #NULL!
Das Problem tritt nur bei Textfunktionen auf, numerische Funktionen rechnen gleich von Beginn an.
Die Funktionen funktionieren erst, wenn ich diese etwas modifiziere, speichere und den Zellaufruf ändere.
Kennt jemand das Problem und hat eine Lösung dafür?
Re: Calc Makro-Funktionen rechnen beim Programmstart nicht
Verfasst: Mi 22. Apr 2015, 11:43
von karolus
Hallo
...hat eine Lösung dafür?
Deine Funktion mag nur ein Beispiel sein, aber auch mit dem Beispiel sollte man das Problem
zumindest reproduzieren können!!
Re: Calc Makro-Funktionen rechnen beim Programmstart nicht
Verfasst: Mi 22. Apr 2015, 14:59
von hwoehrle
Hallo karolus,
also mein BASIC kann nur englisch
Statt left kann auch ein anderer String-Befehl verwendet werden.
Mein eigentliches Problem ist: Suche in einem String die letzten Klammern und isoliere den Inhalt. Lösung:
Code: Alles auswählen
function Modul_text(sText as string) as string
Modul_text=right(sText, len(sText)-Instrrev(sText,"("))
Modul_text=left(Modul_text, Instr(Modul_text,")")-1)
end function
Funktioniert, nur eben nicht wenn die Datei neu geöffnet wird.
Re: Calc Makro-Funktionen rechnen beim Programmstart nicht
Verfasst: Fr 28. Aug 2015, 09:55
von hwoehrle
Um das Problem nochmals aufzugreifen:
Sobald "Option VBASupport 1" eingesetzt ist, werden Makro-Functionen beim Öffnen der Calc-Datei nicht ausgeführt.
Es wird ein Fehler angezeigt, welcher sich aber je nach Art des Makros unterscheidet.
Zur einfachen Reproduktion des Problems beiliegende Datei mit
Code: Alles auswählen
Option VBASupport 1
function teilen(wert as integer)
teilen=wert/2
End function
In diesem Fall erscheint Err:518. Wird die Option VBASupport auskommentiert, funktioniert die Berechnung beim Start.
Und ja, ich weiß das ich für dieses
BEISPIEL kein VBASupport brauche

Re: Calc Makro-Funktionen rechnen beim Programmstart nicht
Verfasst: Fr 8. Jan 2016, 10:10
von hwoehrle
Ich pushe das Thema nochmal, da ich leider immer noch keine Lösung habe.
Nutze inzwischen Version 4.4.72 und Makros rechnen immer noch nicht beim öffnen der Dateien

Re: Calc Makro-Funktionen rechnen beim Programmstart nicht
Verfasst: Fr 8. Jan 2016, 13:00
von karolus
Hallo
Anscheinend kapierst du es nicht --- wo bitte soll man denn helfen, wenn du nichts weiter als eine Dummy-funktion ablieferst, die:
1. nur bei gesetzter VBA-Option nicht funktioniert und gleichzeitig die gesetzte Option gar nicht benötigt ??
2. absolut trivial daherkommt und noch trivialer mit Calc-bordmitteln ersetzbar ist.