我正在尝试使用c#中的Interop查找Word文档部分中的页数。
主要目标是确定标头是否可见。 (例如,文档只有1页,DifferentFirstpageHeaderFooter
已启用,因此wdHeaderFooterPrimary
存在但技术上未显示(因为只有1页而不是2页或更多页)。)所以,如果你能找到找出如何做到这一点的另一种方式,我也很好。
目前,如果文档中只有1个部分,WdInformation.wdActiveEndPageNumber
有效,但如果有2部分,并且我正在处理第二部分,wdActiveEndPageNumber
会给我总数页面包括第1节。
var section = headerFooter.Parent as Section;
int numOfPages = section.Range.Information[WdInformation.wdActiveEndPageNumber];
答案 0 :(得分:4)
我没有C#,但使用VBA语法你需要的“section n”是
一个。如果n = 1
那么你看看
theDocument.sections[1].Range.Information[WdInformation.wdActiveEndPageNumber]
湾如果n > 1
然后你确定存在该部分,那么看看
theDocument.sections[n].Range.Information[WdInformation.wdActiveEndPageNumber]-
theDocument.sections[n-1].Range.Information[WdInformation.wdActiveEndPageNumber]
并注意如果在n部分的最后一页上有连续的分节符,则情况(b)可以返回0。我不知道你所拥有的标题意味着什么,但我希望这意味着你只有第一页标题。