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! :shock:

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?

Code: Alles auswählen

=LINKS("blablablablablab";5) 
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 :oops:

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.