Feedback

C# - Word Inhaltsverzeichnis auslesen mit C#

Veröffentlicht von am 18.06.2011
(1 Bewertungen)
Grundvoraussetzung für die Funktion dieser Methode ist, eine Word Installation (Getestet mit Word 2007 und Word 2010).

1. Zunächst muss ein Verweis die zwei COM Objekte: Microsoft.Office.Core und Microsoft.Office.Interop.Word gesetzt werden.

2. Anschließend empfiehlt es sich einen Alias auf "Word" zu setzen, da sonst immer mit dem Vollqualifizierten Namen gearbeitet werden muss.
GFU-Schulungen  [Anzeige]

ASP.NET Core - Der Einstieg

In nur 3 Tagen lernen Sie, wie man mit ASP.NET Core und den Technologien MVC, Entity Framework, WebAPI und Razor professionelle Web-Anwendungs-Architekturen aufbaut. Diese Schulung ist der perfekte Einstieg, um datengetriebene und präsentations-orientierte Applikationen auf Basis der ASP.NET Core Plattform zu erstellen.

C# Aufbaukurs

Sie haben grundlegende .NET- und C#-Kenntnisse und und wollen diese nun erweitern. Der Aufbaukurs C# führt Sie ein die Arbeit mit Interfaces und Delegates, Generics und Parallel Computing.

using Word = Microsoft.Office.Interop.Word; 

public static List<string> GetTocNodes(FileInfo WordFile)  
{  
     Object filePath = WordFile.FullName;  
  
     Word.Application wordApplication = new Word.Application();  
     wordApplication.Visible = false;  
   
     Word.Document wordDocument = new Word.Document();  
     wordDocument = wordApplication.Documents.Open(filePath);  
  
     //Inhaltsverzeichnis in tocContent speichern  
     string tocContent = wordApplication.ActiveDocument.TablesOfContents[1].Range.Text;  
  
     //Word Document und Anwendung schließen  
     wordDocument.Close();  
     wordApplication.Quit();  
  
     //Zerlegung des Inhaltsverzeichnisses in einzelne Überschriften  
     tocContent = tocContent.TrimEnd("\r".ToCharArray());  
  
     //Zerlegt das Inhaltsverzeichnis in einzelne Segmente  
     string[] paragraphs = tocContent.Split("\r".ToCharArray());  
  
     List<string> tocNodes = new List<string>();  
  
     foreach (string paragraph in paragraphs)  
     {  
          tocNodes.Add(paragraph)  
     }  
  
     return tocNodes;  
}   

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!