Externe DLL unter VBA(Excel) einbinden

Da hab ich wohl ein ziehmliches Problem.
Geht immer nochnicht. :(


Die Function CreateObject() geht nur, wenn ich unter Tools->Referenzen.. die DLL angebe.
Wenn ich die versuche einzufügen, kommt aber eine Fehlermeldung, da es keine ActiveX-DLL ist.
 
Du hast offensichtlich eine Klasse erstellt, also musst du meiner Meinung nach eine ActiveX-Dll erstellen um die Klasse verwenden zu können. Wenn du das nicht willst, musst du in deiner DLL eine Funktion AUSSERHALB der Klasse erstellen, auf die du nacher zugreifen kannst (mittels Declare blabla.).
 
Schade!

Kann keine DLL erstellen, wo bloß die function integrierd ist. Der Brauch irgendwie die Funktion in einer Klasse.

Mach ich da was falsch?
Kann ich mittels VBA eine DLL-Datei erstelln?
 
Hmm, ich hab so das Gefühl, dass du keine .NET dlls im alten VBA verwenden kannst. Oder ist das Excel-VBA auch .NET? Das weiss ich leider nicht, hab noch nie mit dem Framework gearbeitet.

Aber was ich weiss: VB.NET erstellt COM+ DLLs, VB6 COM (oder ActiveX) Dlls. Wenn kein .NET Framework installiert ist, kannst du nun auch nicht die .NET dlls verwenden.

vielleicht hilft dir das weiter: http://www.vb-fun.de/cgi-bin/forum.pl?ID=2&action=zeigeseite&nummer=4491
 
Vielan Dank für den Link...

Kennt jemand von euch ein Tool, womit man den Export einer DLL auslesen kann?
Vermute einfach mal, dass der Funktionsname falsch integriet ist und man die Funktion deshalb anders ansprechen muss.

Bsp: nicht "abc" sondern "@@abc" oder so etwas.
 
Bei Visual Studio ist ein Dependency-Walker dabei: entweder zu finden im Startmenü unter "Microsoft Visual Studio 6.0-Dienstprogramme" --> "Depends" oder im Visual Studio Verzeichnis auf der Festplatte die Datei "DEPENDS.EXE" im Unterverzeichnis "\Common\Tools\" starten

Edit: Das setzt natürlich voraus, dass du Visual Studio hast und nicht beispielsweise eine andere Version von VB verwendest.
 
Es ging um VBA(Excel) und VB.Net. Da gibt es meines Wissens so ein Tool leider nicht.
Aber an sonsten hast du natürlich recht. ;)
 

Neue Beiträge

Zurück