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

Studie: Ein Drittel aller E-Mails an Unternehmen sind unerwünscht

Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…

3 Tagen ago

HubPhish: Phishing-Kampagne zielt auf europäische Unternehmen

Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…

4 Tagen ago

1. Januar 2025: Umstieg auf E-Rechnung im B2B-Geschäftsverkehr

Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.

4 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…

4 Tagen ago

Erreichbarkeit im Weihnachtsurlaub weiterhin hoch

Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…

5 Tagen ago

Hacker missbrauchen Google Calendar zum Angriff auf Postfächer

Security-Experten von Check Point sind einer neuen Angriffsart auf die Spur gekommen, die E-Mail-Schutzmaßnahmen umgehen…

6 Tagen ago