Hallo!
Mit Begeisterung habe ich festgestellt, dass es möglich mit (V)C++ DLL-Dateien zu erstellen, auf deren Funktionen man dann mittles API mit VBA zugreifen kann. Das klappt bei mir zwar schon im Ansatz, leider scheitere ich aber im Moment daran, dass ich keine vernünftigen Werte-Übergaben machen kann. Als Beispiel:
Private Declare Function say_hello Lib "dll" (ByVal a As Integer) As Integer
Sub aMalFuenf()
Dim intc As Integer
intc = say_hello(5)
MsgBox intc
End Sub
Excel bringt die Fehlermeldung:
Laufzeitfehler \'49\': Falsche DLL-Aufrufkonvention
(mit Verweis auf die Zeile "intc = say_hello(5)"
Der entscheidende Abschnitt des C++-Quellcodes sieht so aus:
extern "C" __declspec(dllexport) int say_hello(int a)
{
int c;
c = a*5;
return(c);
}
Wenn mir jemand meinen Fehler zeigen oder mir ein vernünftiges Beispiel liefern könnte, an dem sich der Umgang mit DLL\'s studieren lässt, wäre ich sehr dankbar!
Gruß,
Meik