2012-06-10 37 views
3

我想使用Microsoft Office Interop Word程序集來讀取Word文檔的頁眉和頁腳。Microsoft Office Interop Word讀取標題和腳註

我有兩個問題:

首先如何訪問腳註和標題? 第二個如何將它們轉換爲字符串(當我打電話給toString()時,我剛剛拿到了「System .__ ComObject」)

回答

5

您應該有一個Document對象doc,它由許多部分組成,而footer/headers是單個部分。每個部分可以有多個頁眉/頁腳(例如,它們可以與第一頁不同)。要訪問頁眉/頁腳的文本,您必須獲取頁眉/頁腳中包含的範圍,然後訪問其Text屬性。

如果應用程序是您的Word ApplicationClass,此代碼應該給你兩個集合與活動文檔的頁眉和頁腳:

 List<string> headers = new List<string>(); 
     List<string> footers = new List<string>(); 
     foreach (Section aSection in app.ActiveDocument.Sections) 
     { 
      foreach (HeaderFooter aHeader in aSection.Headers) 
       headers.Add(aHeader.Range.Text); 
      foreach (HeaderFooter aFooter in aSection.Footers) 
       footers.Add(aFooter.Range.Text); 
     } 

如果你有興趣的註腳,而不是頁腳(它不是從真正明確這個問題,因爲你在一些地方寫腳註,而在其他地方寫腳註),事情就更簡單了,因爲你可以向文檔索取所有腳註的集合。要訪問註釋中的文本,您可以執行與頁眉/頁腳相同的操作:訪問範圍,然後獲取Text屬性:

 List<string> footNotes = new List<string>(); 
     foreach (Footnote aNote in app.ActiveDocument.Footnotes) 
      footNotes.Add(aNote.Range.Text); 
+1

代碼的第一部分有一個小錯誤。第二個foreach應該將數據添加到頁腳列表中,而不是在標題列表中。除此之外,偉大的工作! –

相關問題