Einzelnen Beitrag anzeigen

venice2
(Gast)

n/a Beiträge
 
#2

AW: Excel VBA: Declare Function Libname als Variable – Wie geht das?

  Alt 9. Okt 2021, 06:50
Zitat:
Ich möchte gerne den String "MyLib.dll" durch die Variable MyLibName ersetzen, wobei MyLibName den kompletten Pfad und den DLL-Namen enthält.
Das funktioniert nicht!
Es wird eine Konstante erwartet keine Variable.

Es muß eine Zeichenfolge Konstante sein! Also innerhalb Anführungszeichen = "MyLib.dll" oder wie auch immer.
Absolute Pfade innerhalb der Anführungszeichen sollten jedoch funktionieren.

Das dürfte auch nicht funktionieren..
Code:
const MyLibName = "myfullpath\MyLib.dll"
Denn MyLibName ist nicht in Anführungszeichen eingeschlossen.

Was eventuell helfen kann ist deine Library wenn nicht gefunden mit LoadLibrary zu laden.
Das muß aber geschehen bevor irgend etwas von deiner DLL verwendet wird. Nachher das Freigeben nicht vergessen.
Zitat:
Kann man Excel irgendwie austricksen?
Nein!
Zitat:
Oder, wenn das nicht geht, wie kann ich Excel veranlassen, "MyLib.dll" im selben Verzeichnis zu suchen, wo sich die Excel-Datei befindet?
Dort sucht Excel zuerst!
Bedenke aber wenn solche Fehler aufkommen und die DLL nicht gefunden wird obwohl im Pfad vorhanden, fehlen unter umständen andere Abhängigkeiten die deine DLL benötigt.
---------------
Wenn Du lediglich den Namen der Dll angibst, sprich ohne Pfadangabe, wird an folgenden Orten nach der Dll gesucht:

1. Verzeichnis deiner Exel-Datei..
2. In dem Systemverzeichnis [Windows-Verzeichnis]\System32
3. Im [Windows-Verzeichnis] (z.B. C:\Windows)
4. An den in der PATH Umgebungsvariablen angegebenen Verzeichnissen.

Geändert von venice2 ( 9. Okt 2021 um 07:49 Uhr)
  Mit Zitat antworten Zitat