🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Calc Makro-Funktionen rechnen beim Programmstart nicht

Alles zur Programmierung im LibreOffice.
Antworten
Benutzeravatar
hwoehrle
Beiträge: 18
Registriert: Di 3. Jan 2012, 08:56

Calc Makro-Funktionen rechnen beim Programmstart nicht

Beitrag von hwoehrle » Mi 22. Apr 2015, 11:32

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?

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2536
Registriert: Fr 10. Dez 2010, 10:01

Re: Calc Makro-Funktionen rechnen beim Programmstart nicht

Beitrag von karolus » Mi 22. Apr 2015, 11:43

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!!
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)

Benutzeravatar
hwoehrle
Beiträge: 18
Registriert: Di 3. Jan 2012, 08:56

Re: Calc Makro-Funktionen rechnen beim Programmstart nicht

Beitrag von hwoehrle » Mi 22. Apr 2015, 14:59

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.

Benutzeravatar
hwoehrle
Beiträge: 18
Registriert: Di 3. Jan 2012, 08:56

Re: Calc Makro-Funktionen rechnen beim Programmstart nicht

Beitrag von hwoehrle » Fr 28. Aug 2015, 09:55

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 ;)
Dateianhänge
Beispiel_VBASupport.ods
(11.39 KiB) 259-mal heruntergeladen

Benutzeravatar
hwoehrle
Beiträge: 18
Registriert: Di 3. Jan 2012, 08:56

Re: Calc Makro-Funktionen rechnen beim Programmstart nicht

Beitrag von hwoehrle » Fr 8. Jan 2016, 10:10

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:

Benutzeravatar
karolus
* LO-Experte *
Beiträge: 2536
Registriert: Fr 10. Dez 2010, 10:01

Re: Calc Makro-Funktionen rechnen beim Programmstart nicht

Beitrag von karolus » Fr 8. Jan 2016, 13:00

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.
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten