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

Microsoft verschiebt erneut Copilot Recall

Die Entwickler arbeiten noch an weiteren „Verfeinerungen“. Windows Insider erhalten nun wohl eine erste Vorschau…

4 Stunden ago

GenKI im Job: Mitarbeitende schaffen Tatsachen

Laut Bitkom-Umfrage werden in jedem dritten Unternehmen in Deutschland private KI-Zugänge genutzt. Tendenz steigend.

6 Stunden ago

97 Prozent der Großunternehmen melden Cyber-Vorfälle

2023 erlitten neun von zehn Unternehmen in der DACH-Region Umsatzverluste und Kurseinbrüche in Folge von…

6 Stunden ago

„Pacific Rim“-Report: riesiges, gegnerisches Angriffs-Ökosystem

Der Report „Pacific Rim“ von Sophos beschreibt Katz-und-Maus-Spiel aus Angriffs- und Verteidigungsoperationen mit staatlich unterstützten…

9 Stunden ago

DeepL setzt erstmals auf NVIDIA DGX SuperPOD mit DGX GB200-Systemen

NVIDIA DGX SuperPOD soll voraussichtlich Mitte 2025 in Betrieb genommen und für Forschungsberechnungen genutzt werden.

10 Stunden ago

Latrodectus: Gefährlicher Nachfolger von IcedID

Latrodectus, auch bekannt als BlackWidow, ist auch unter dem Namen LUNAR SPIDER bekannt.

10 Stunden ago