Word-Funktionen in .NET-Anwendungen nutzen

Zunächst legt man in Visual Studio .NET ein neues Projekt an und fügt einen Verweis auf die Word-Typbibliothek hinzu. Im Beispiel wird Microsoft Word 2003 verwendet, die Typbibliothek ist also die Microsoft Word 11.0 Object Library. Sobald der Verweis hinzugefügt wurde, können die Word-Objekte im Code verwendet werden. Das VB.NET- Beispiel in Listing A öffnet ein bestehendes Word-Dokument auf dem lokalen Laufwerk, sobald der Nutzer eine Schaltfläche auf dem Windows-Formular betätigt.

Listing A

Hier einige Anmerkungen zum Code:

  • Der System.Runtime.InteropServices-Namespace wird zur Arbeit mit COM- und .NET-Interoperabilität importiert. Er enthält die COMException-Klasse.
  • Der .NET-Wrapper für die Word-Objekte ist im Microsoft.Office.Interop.Word-Namespace enthalten (der dem Projekt zuvor hinzugefügte Verweis).
  • Die Application-Klasse innerhalb des Word-Namespace wird verwendet, um auf die Word-Anwendung zuzugreifen.
  • Die Document-Klasse innerhalb des Word-Namespace erlaubt das Arbeiten mit Word-Dokumenten.
  • Die in der Documents-Eigenschaft der Anwendung enthaltene Open-Methode erlaubt das Laden eines bestehenden Dokuments. Auch eine Close-Methode ist dort enthalten.
  • Die Activate-Methode der Document-Klasse öffnet das Dokument in einer neuen Instanz von Word.
  • Der auf das Word-Dokument Zugriff nehmende Code ist in einem Try/Catch-Block enthalten. Er fängt COM-Fehler über die COMException-Klasse auf. Die MessageBox.Show-Methode ersetzt die VBA MsgBox-Funktion von Office.

Listing B enthält den entsprechenden C#-Code.

Der größte Unterschied zwischen dem C#-Code und der VB.NET-Version besteht im Aufruf von Documents. Die Open-Methode erfordert, dass alle Parameter an sie weitergegeben werden, wobei diese Parameter Verweise auf Objekte sein müssen. Aus diesem Grund werden Objekte angelegt, denen Werte zugewiesen werden. Außerdem werden nur Verweise (ref) an den Methodenaufruf geleitet. Darüber hinaus sind viele der Parameter auf Null gesetzt, so dass an ihrer Stelle der Wert „Type.Missing“ verwendet wird. Des Weiteren muss die eigentliche Word-Anwendung über ihre eigene Activate-Methode aufgerufen und durch Setzen ihres Visible-Arguments auf „true“ sichtbar gemacht werden. Schließlich muss man noch beachten, dass C# den Backslash als Escape-Sequenz interpretiert, also muss man doppelte Backslash-Symbole (\) verwenden, um ein einzelnes in einen String einzufügen.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Lags beim Online-Gaming? DSL-Vergleich und andere Tipps schaffen Abhilfe

Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…

2 Tagen ago

GenKI-Fortbildung immer noch Mangelware

Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…

2 Tagen ago

Netzwerk-Portfolio für das KI-Zeitalter

Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…

2 Tagen ago

Internet-Tempo in Deutschland: Viel Luft nach oben

Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.

2 Tagen ago

Erste Entwickler-Preview von Android 16 verfügbar

Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…

2 Tagen ago

Kaspersky warnt vor Cyberangriff auf PyPI-Lieferkette

Die Hintermänner setzen KI-Chatbot-Tools als Köder ein. Opfer fangen sich den Infostealer JarkaStealer ein.

2 Tagen ago