Im Artikel “Office-VBA per COM-DLL mit VB.NET erweitern” und in einigen weiteren Artikel haben wir bereits gezeigt, wie man Visual Studio zum Erstellen von COM-DLLs und COM-Add-Ins nutzen kann. Im vorliegenden Artikel ergänzen wir die dort vorstellten Techniken zum Erstellen von COM-DLLs und COM-Add-Ins noch um die Vorgehensweise zum Debuggen des Codes dieser Projekte. Während WPF-Projekte oder Konsolenanwendungen sich von Visual Studio .NET starten und auch debuggen lassen, gelingt das bei COM-DLLs und COM-Add-Ins nicht so leicht. Es handelt sich dabei nicht um ausführbare Dateien, also müssen wir einen kleinen Umweg gehen – und diesen beschreiben wir im vorliegenden Artikel.
Wir beziehen uns in diesem Artikel zunächst auf die Beispiellösung aus dem Artikel Office-VBA per COM-DLL mit VB.NET erweitern (www.vbentwickler.de/378). Später schauen wir uns noch an, wie das Debugging mit einem COM-Add-In aussieht.
Wenn wir eine COM-DLL wie die aus dem genannten Artikel in Visual Studio .NET öffnen und sie starten wollen, indem wir auf die Starten-Schaltfläche klicken oder die Taste F5 betätigen, erhalten wir die Meldung aus Bild 1. Wir müssen also einen anderen Weg finden, um unseren Code zu debuggen.
Bild 1: Fehlermeldung beim Versuch, ein nicht ausführbares Projekt zu starten
Die Debuggen-Eigenschaften
Auch wenn die Anzahl der Programmierer, die COM-DLLs und COM-Add-Ins vergleichsweise überschaubar sein dürfte, so bietet Visual Studio auch für diese eine passende Lösung an. Diese finden wir in den Projekteigenschaften, die wir mit einem Doppelklick auf den Eintrag My Project im Projektmappen-Explorer öffnen. Dort wechseln wir anschließend zum Bereich Debuggen, der zunächst wie in Bild 2 aussieht.
Bild 2: Der Bereich Debuggen in den Projekteigenschaften
Konfiguration auswählen
Hier sehen wir verschiedene Optionen. Sollte die Eigenschaft Konfiguration einen anderen Wert als Aktiv (Debug) aufweisen, stellen wir diese nun auf diesen Wert ein.
Zu startende Anwendung festlegen
Im Bereich Startaktion geben wir an, welche Aktion durchgeführt werden soll. Für uns sind die folgenden beiden interessant:
- Projekt starten: Mit dieser Option wird das aktuelle Projekt gestartet, was nur bei ausführbaren Projekten sinnvoll ist.
- Externes Programm starten: Wenn das Projekt im Kontext einer anderen Anwendung verwendet werden soll, was bei COM-DLLs und COM-Add-Ins der Fall ist, geben wir den Pfad zu dieser Anwendung an.
Wir können zum Beispiel Access, Excel, Outlook oder Word als externes Programm angeben. Dazu benötigen wir den Pfad zu dieser Anwendung, der sich je nach verwendeter Version unterscheiden kann.
Die einfachste Methode, den Pfad zur ausführbaren Datei für eine der Office-Anwendungen zu finden, ist ein Rechtsklick auf das Icon in der Taskleiste oder auf den Namen im Suchen-Bereich von Windows und das anschließende Auswählen des Befehls Eigenschaften (siehe Bild 3).
Bild 3: Anzeigen der Eigenschaften einer Office-Anwendung
Anschließend können wir dem Eigenschaften-Dialog aus dem Textfeld Ziel den Pfad zur Anwendung entnehmen (siehe Bild 4).
Bild 4: Eigenschaften einer Office-Anwendung
Für Outlook lautet dieser beispielsweise:
C:\Program Files (x86)\Microsoft Office\root\Office16\OUTLOOK.EXE
Die Pfade zu den übrigen Office-Anwendungen finden wir auf die gleiche Weise.
Debuggen starten
Damit haben wir bereits einen großen Schritt zum Debuggen getan. Wir können nun nämlich das Projekt starten, indem wir die Anwendung starten. Visual Studio trägt für das Projekt nun die Informationen in die Registry ein, die dazu notwendig sind, dass die aufgerufene Anwendung auf die DLL zugreifen kann.
Wenn wir beispielsweise Outlook angeben, wird anschließend Outlook gestartet und die DLL steht für die Nutzung bereit. Um diese einzusetzen, öffnen wir nun unter Outlook den VBA-Editor (zum Beispiel mit Alt + F11). Dann können wir die zu debuggende COM-DLL im Verweise-Dialog auswählen (siehe Bild 5).
Bild 5: Die COM-DLL im Verweise-Dialog
Anschließend stehen die Funktionen der COM-DLL in einer neuen Prozedur in einem neuen Modul wie in Bild 6 zur Verfügung.
Bild 6: Nutzen der Elemente der COM-DLL
Haltepunkt setzen
Bevor wir nun ausprobieren, ob das Debugging funktioniert, setzen wir einen Haltepunkt für die Methode Beispielprozedur im VB.NET-Projekt (siehe Bild 7). Das gelingt genau wie im VBA-Editor durch Anklicken des grauen Bereichs auf Höhe der Zeile, die den Haltepunkt erhalten soll.
Bild 7: Setzen eines Haltepunktes in Visual Studio
Haltepunkt ausprobieren
Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Visual Basic Entwickler:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 200 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein: