3
我想使用Microsoft Office Interop Word程序集來讀取Word文檔的頁眉和頁腳。Microsoft Office Interop Word讀取標題和腳註
我有兩個問題:
首先如何訪問腳註和標題? 第二個如何將它們轉換爲字符串(當我打電話給toString()時,我剛剛拿到了「System .__ ComObject」)
我想使用Microsoft Office Interop Word程序集來讀取Word文檔的頁眉和頁腳。Microsoft Office Interop Word讀取標題和腳註
我有兩個問題:
首先如何訪問腳註和標題? 第二個如何將它們轉換爲字符串(當我打電話給toString()時,我剛剛拿到了「System .__ ComObject」)
您應該有一個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);
代碼的第一部分有一個小錯誤。第二個foreach應該將數據添加到頁腳列表中,而不是在標題列表中。除此之外,偉大的工作! –