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:
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.
Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…
Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…
Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.
Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…
Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…
Security-Experten von Check Point sind einer neuen Angriffsart auf die Spur gekommen, die E-Mail-Schutzmaßnahmen umgehen…