我正在尝试使用c#中的Interop在Word文档的Section中查找页数。

主要目标实际上是确定标头是否可见。 (例如,文档只有一页,启用了DifferentFirstpageHeaderFooter,因此wdHeaderFooterPrimary存在,但从技术上讲,它没有显示(因为只有一页而不是2页或更多)。)因此,如果您可以找到另一种方式弄清楚怎么做,我也很好。

当前,如果文档中只有1个部分,则WdInformation.wdActiveEndPageNumber可用,但是如果有2个,而我正在处理第二部分,则wdActiveEndPageNumber给出了包括第1部分在内的总页数。

var section = headerFooter.Parent as Section;
int numOfPages = section.Range.Information[WdInformation.wdActiveEndPageNumber];

最佳答案

我没有C#,但是使用VBA语法,“ n部分”需要的是

一种。如果n = 1那么你看

theDocument.sections[1].Range.Information[WdInformation.wdActiveEndPageNumber]


b。如果n > 1则确定存在第n节,然后查看

theDocument.sections[n].Range.Information[WdInformation.wdActiveEndPageNumber]-
theDocument.sections[n-1].Range.Information[WdInformation.wdActiveEndPageNumber]


并注意如果在第n节的最后一页上有连续的分节符,情况(b)可以返回0。我不知道这对您拥有的标题意味着什么,但是我希望这意味着您只有第一个页面标题。

关于c# - 使用Interop查找Word文档Section中的页数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12980242/

10-17 01:35