Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1224to1228
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

vba code aus dll verwenden

vba code aus dll verwenden
Manu
Hallo zusammen,
ich bin neulich auf einen vba code gestoßen, bei dem der code für eine Funktion aus einer .dll Datei stammt.
Aufgerufen wird die Funktion so:
[public] declare function [...] Lib "... .dll" [...]
Ich würde gerne meine Funktionen in meinen VBA Projekten auch über einen solchen Verweis aufrufen lassen, weiß aber nicht wie ich das genau machen muss.
Kann mir einer von euch hier etwas weiter helfen?
Ganz liebe Grüße,
Manu

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Für UDFs : Vermutlich einfach einen Verweis setzen
22.08.2011 12:33:11
NoNet
Hallo Manu,
die Anweisung Declare Function.... Lib ... bezieht sich nur auf kompilierte Dateien, also z.B. auf DLLs, XLLs, TLBs, OCX etc., die im System registriert sind (REGSVR32.EXE) - jedoch nicht auf UDFs (selbst erstellte VBA-Funktionen) aus Deinen Excel-Projekten.
Um Funktionen aus Deinen VBA-Projekten (XLS oder XLA) zuzugreifen, musst Du einen VBA-Verweis auf die Datei setzen (VBA-Menü "Extras- Verweise") und/oder das AddIn einbinden.
Gruß, NoNet
Exceltreffen 28.-30.10.2011 in Chemnitz
Ein Treffen für alle Excel-Freunde und Besucher deutschsprachiger Excel-Foren.
Alle Infos - Programm - Anmeldung - Teilnehmerliste etc. gibt es auf
http://www.exceltreffen.de/index.php?page=211
Wir freuen uns auf euch...

Anzeige
AW: Für UDFs : Vermutlich einfach einen Verweis setzen
22.08.2011 12:46:27
Manu
Hey NoNet,
vielen Dank für deine Antwort.
Ich möchte gerne eine dll Datei erstellen mit meinen Funktionen drinnen. D.h. ich würde meine VBA Funktionen auf VB umschreiben und eine dll Datei darauß erstellen. Die dll Datei möchte ich dann gerne in meinem VBA Projekt abfragen bzw. auf die Funktionen in dieser dll Datei zugreifen.
Das hätte den Vorteil, dass ich dann ganz leicht weitere Funktionen in meine dll bauen könnte und diese dann in ganz unterschiedlichen Projekten aufrufen könnte bzw. meine bisherigen Projekte um neue Funktionen erweitern könnte ohne meinen gesamten Funktionscode in das VBA Projekt kopieren zu müssen.
Weißt du zufällig wie ich eine solche dll Datei erstellen könnte die ich dann in meinem VBA Projekt abfragen kann?
Ganz liebe Grüße,
Manu
Anzeige
www.office-loesung.de/ftopic131237_0_0_asc.php
22.08.2011 13:02:03
NoNet
Hallo Manu,
diese Thema ist wohl nicht ganz so trivial zu beantworten wie Du (und ich und viele andere auch) es gerne hätten.
Um das zu realisieren ist eine ganze Menge an Vorkenntnissen notwendig - insbesondere in VB-Entwicklung und Klassenprogrammierung. M.E. ist das auch nur mit einer (sehr teuren) Vollversion der "Visaul Studio" möglich, keinesfalls mit der kostenlosen "Express"-Version.
Suche doch mal bei Google nach "DLL aus VBA erstellen", dann findest Du u.a. diesen Thread mit Antworten von VB-Profi Nepumuk :
http://www.office-loesung.de/ftopic131237_0_0_asc.php
Viel Erfolg wünscht NoNet
Exceltreffen 28.-30.10.2011 in Chemnitz
Ein Treffen für alle Excel-Freunde und Besucher deutschsprachiger Excel-Foren.
Alle Infos - Programm - Anmeldung - Teilnehmerliste etc. gibt es auf
http://www.exceltreffen.de/index.php?page=211
Wir freuen uns auf euch...

Anzeige
AW: www.office-loesung.de/ftopic131237_0_0_asc.php
22.08.2011 13:09:46
Manu
Hey NoNet,
dank dir für deine Antwort. Die Links bin ich auch schon alle durch gegangen, aber das meiste ich nicht wirklich gut erklärt.
Soweit ich weiß, reicht es in VBA die dll über "declare function" aufzurufen. In deinem VB Projekt setzt du dann einen Verweis zur Library.
Ich dachte vielleicht hat das schon einer von euch gemacht und könnte mir eine etwas genauere Beschreibung geben.
Falls nicht, werde ich mal weiter suchen.
Ganz liebe Grüße,
Manu
AW: www.office-loesung.de/ftopic131237_0_0_asc.php
22.08.2011 15:34:41
Nepumuk
Hallo,
mit Declare importierst du eine Einsprungspunkt-Funktion/Sub aus einer DLL in dein Projekt. Diese DLL muss in C oder einer seiner Dialekte geschrieben sein. Aus VBA-Code kannst du so eine DLL nicht erstellen.
Was in dem Link von NoNet beschrieben wird ist eine ActiveX-DLL. Diese kannst du in VB erstellen. In VB6.0 ist der Code fast identisch mit VBA-Code in VB.net ist es eine etwas andere Syntax. Es ist aber immer eine Klasse.
Gruß
Nepumuk
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige