Ich hatte gehofft, die Notwendigkeit zu vermeiden um die DLL zu registrieren, und verwenden Sie stattdessen die Declare Function-Anweisung im VBA-Code, aber anscheinend ist dies nicht möglich und meine Recherche hat mich darauf hingewiesen, dass ich die Klassenbibliothek COM-sichtbar machen, sie dann registrieren und als hinzufügen muss Verweis auf das VBA-Projekt. Es sieht so aus, als hätte man in früheren Visual Studio-Versionen in einem Dialogfeld für die Projekteigenschaften auf ein Kästchen geklickt, aber ich sehe das Kästchen in VS2022 nicht?!
Das sind die Schritte, die ich mit einem „Spielzeug“-Beispiel unternommen habe, und die Probleme, auf die ich gestoßen bin.
(1) Ich habe die folgende DLL mit einer Klasse „Calculate“ und einer einfachen Methode „Add“ erstellt zwei ganze Zahlen. Da wir 32-Bit-Excel verwenden, habe ich es auf x86 konfiguriert.
Code: Select all
namespace ClassLibraryCalculator
{
public class Calculate
{
public int Add(int a,int b){ return a + b; }
}
}
regsvr32 „ClassLibraryCalculator.dll“ auszuführen, bin aber auf einen Fehler gestoßen: „..wurde geladen, aber der Eintrag-“ Punkt DllRegisterServer wurde nicht gefunden"
Beim Suchen soll die Lösung hierfür darin bestehen, die Projekteigenschaften zu ändern. Das war (in früheren Versionen von VS?) ein Dialogfeld

mit einem Kontrollkästchen, aber ich sehe nichts, was mit COM zu tun hat in den Projekteigenschaften von Visual Studio 2022.