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.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Word-Funktionen in .NET-Anwendungen nutzen

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *