Microsoft Office Interop Word读取标题和脚注

时间:2012-06-10 20:18:09

标签: c# ms-office

我想使用Microsoft Office Interop Word程序集来读取word文档的页眉和页脚。

我有两个问题:

首先如何访问脚注和标题? 第二个如何将它们转换为String(当我调用toString()时,我只得到了“System .__ ComObject”)

1 个答案:

答案 0 :(得分:5)

您应该有一个Document对象doc,它由许多Sections组成,而页脚/标题是单个部分的一部分。每个部分可以有多个页眉/页脚(例如,它们可以与第一页不同)。要访问页眉/页脚的文本,您必须获取页眉/页脚中包含的范围,然后访问其Text属性。

如果app是您的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);
        } 

如果你对脚注而不是页脚感兴趣(问题不是很清楚,因为你在某些地方写过脚注,而在其他地方写了脚注),事情就更简单了,因为你可以向文档索取所有的集合。它的脚注。要访问注释中的文本,您可以执行与页眉/页脚相同的操作:访问Range,然后获取Text属性:

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