Word-Funktionen in .NET-Anwendungen nutzen

Entwickler glauben häufig, dass sie das Rad neu erfinden müssten, obwohl sie für bestimmte Aufgaben eigentlich einfach nur vorhandene Anwendungen nutzen könnten. Ein gutes Beispiel hierfür ist die Verwendung einer oder mehrerer Anwendungen aus der Microsoft Office Suite. Es kann vorkommen, dass man eine Excel-Tabelle dazu verwenden möchte, ein Diagramm oder eine Spesenabrechnung zu erstellen, oder ein Word Dokument erstellen möchte, das vom Nutzer eingegebene Daten enthält. Dieser Artikel befasst sich mit der Integration von Word in eine .NET-Anwendung.

Es ist seltsam, dass Microsoft .NET als die ultimative Lösung anpreist, es aber im Programmiermodell von Microsoft Office keine Verwendung findet. Office verwendet noch immer das ältere VBA-Modell (Visual Basic for Applications). Ein kritischer Aspekt von VBA besteht darin, dass es auf COM (Component Object Model) aufbaut und .NET sowie Microsoft Office daher nicht von Haus aus miteinander kommunizieren können. Allerdings bietet eine .NET-Funktion namens COM Interop aufrufbare Wrapper, um so eine Kommunikation zwischen .NET und COM zu ermöglichen.

Ein zur Laufzeit aufrufbarer Wrapper (Runtime Callable Wrapper, RCW) erlaubt es einer COM-Komponente, von .NET genutzt zu werden. Wer die Visual Studio .NET-IDE verwendet, kann einfach diesen Schritten folgen:

  1. „Add Reference“ (Verweis hinzufügen) aus dem Menü „Project“ (Projekt) auswählen
  2. Im „Add Reference“-Fenster die COM-Registerkarte auswählen und die entsprechende Typbibliothek-Datei doppelklicken.
  3. OK auswählen um den Vorgang zu beenden und den Verweis hinzuzufügen.

Nun wandelt Visual Studio .NET die Objekte und Mitglieder in der COM-Bibliotheksdatei in entsprechende .NET-Gruppen um. Sobald die .NET-Gruppen erzeugt sind, kann man sehr einfach Klassen einrichten und Mitglieder aufrufen, als ob es sich bei den COM-Objekten und Mitgliedern um .NET-Klassen und Mitglieder handelte. Dieser Vorgang kann auch umgekehrt werden, so dass man eine .NET-Gruppe in einer auf COM basierenden Umgebung verwenden kann, dies ist jedoch nicht Thema dieses Artikels.

Ein Beispiel soll veranschaulichen, wie es funktioniert. Hier wird ein Word-Dokument mit einem einfachen .NET Windows-Formular erzeugt.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Black Friday: Vorsicht vor schädlichen QR-Codes

Bösartige QR-Codes, die per E-Mail versendet werden, eignen sich sehr gut, um Spam-Filter zu umgehen.

6 Stunden ago

Black Friday: Zahl der ominösen Shopping-Websites steigt

Unsichere Websites und Phishing-Mails in Verbindung mit Black Friday können kauffreudigen Konsumenten zum Verhängnis werden.

6 Stunden ago

SmokeBuster bekämpft SmokeLoader

Malware SmokeLoader wird weiterhin von Bedrohungsakteuren genutzt, um Payloads über neue C2-Infrastrukturen zu verbreiten.

13 Stunden ago

Taugen Kryptowährungen als Unterstützer der Energiewende?

Bankhaus Metzler und Telekom-Tochter MMS testen, inwieweit Bitcoin-Miner das deutsche Stromnetz stabilisieren könnten.

1 Tag ago

Supercomputer-Ranking: El Capitan überholt Frontier und Aurora

Mit 1,7 Exaflops ist El Capitan nun der dritte Exascale-Supercomputer weltweit. Deutschland stellt erneut den…

1 Tag ago

Ionos führt neue AMD-Prozessoren ein

Der deutsche Hyperscaler erweitert sein Server-Portfolio um vier Angebote mit den neuen AMD EPYC 4004…

1 Tag ago