Von Excel --> Calc: DLL --> Declare Function-Probleme

Hallo Community,

ich bin seit längerer Zeit beim Testen, ob ich von Excel zu LibreOffice – ganz konkret zu Calc – umsteigen könnte, was ich sehr gerne möchte.

Mein spezielles Problem sieht wie folgt aus:

Ich erstelle seit zig Jahren mit Delphi wissenschaftlich-technische Berechnungen, die ich bisher über DLL’s via VBA-Schnittstelle (*.xlam Excel-AddIns) in Excel als Erweiterung eingebunden habe. Hunderte dieser Berechnungsroutinen arbeiten in tausenden von Excel-Tabellen. Die DLL’s enthalten ausschließlich Berechnungsroutinen, die direkt in die Zellen der Tabellenblätter schreiben: Es sind also immer als Function mit einem aber auch oft mit mehreren Rückgabewerten (ein- und mehrdimensionale Arrays) deklariert. Ich verwende überhaupt keine Sub’s, NUR Function’s!

Bei meinen allerersten Gehversuchen mit LibreOffice (aktuelle Version 7) bin ich auf – für mich – unüberwindliche Hindernisse gestoßen.

Leider helfen mir dabei selbst die 4 neuesten Bücher von Großmeister Thomas Krumbein ( @Toxitom ) nicht weiter, weil er fast immer SUB’s verwendet und keine Funktionen, die in die Zellen schreiben.

Hier ist z.B. ein einfaches Beispiel:

Declare Function Reynolds Lib “SuchPfad\ChemWingsFlow.dll”_
(ByVal w#, ByVal d#, ByVal Ny#) As Double

Und die Benutzung der Routine in der Calc-Tabelle sieht wie folgt aus:

= REYNOLDS(E6;E7;E8)

Es kommt stets zur Fehlermeldung: „BASIC-Laufzeitfehler: Fehler beim Laden einer DLL-Datei.“

  • Was mache ich falsch?
  • Geht es überhaupt, daß meine Routinen aus der DLL direkt in die Zelle(n) der Calc-Tabelle schreiben?
  • Kann man mit Calc sogenannte „Matrix-Funktion“ (= ein- und mehrdimensionale Arrays) als Rückgabewert einer Funktion direkt in die Tabellenzellen schreiben?

Diese Fragen sind das KO-Kriterium für meinen Umstieg. Ich probiere schon seit etlichen Wochen, leider ohne Erfolg.

Vielen Dank für Eure Hilfe im Voraus!

Viele Grüße
Andreas