C# 使用Interop查找Word文档节中的页数

C# 使用Interop查找Word文档节中的页数,c#,ms-word,vsto,office-interop,C#,Ms Word,Vsto,Office Interop,我正在尝试使用c#中的Interop查找Word文档的一部分中的页数 主要目标是确定标题是否可见。(例如,一个文档只有一页,启用了differentitfirstpageheaderfooter,因此wdheaderfooterprisary存在,但技术上没有显示(因为只有一页,而不是两页或更多)。)因此,如果您可以找到不同的方法来解决这个问题,我也可以接受 当前,WdInformation.wdActiveEndPageNumber在文档中只有1个节时有效,但如果有2个节,并且我正在处理第二个

我正在尝试使用c#中的Interop查找Word文档的一部分中的页数

主要目标是确定标题是否可见。(例如,一个文档只有一页,启用了
differentitfirstpageheaderfooter
,因此
wdheaderfooterprisary
存在,但技术上没有显示(因为只有一页,而不是两页或更多)。)因此,如果您可以找到不同的方法来解决这个问题,我也可以接受

当前,
WdInformation.wdActiveEndPageNumber
在文档中只有1个节时有效,但如果有2个节,并且我正在处理第二个节,
wdActiveEndPageNumber
提供包括第1节在内的总页数

var section = headerFooter.Parent as Section;
int numOfPages = section.Range.Information[WdInformation.wdActiveEndPageNumber];
我没有这方面的C#,但是使用VBA语法“section n”需要的是

a。如果
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,但使用VBA语法“section n”需要的是

a。如果
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。我不知道这对您的页眉意味着什么,但我希望这意味着您刚刚有了第一页页眉。

谢谢。这也是我想到的。我希望有更干净一点的东西,但我想这就行了。唯一让它更复杂的是我只有HeaderFooter对象(因此还有Section对象)。所以我不得不把
var doc=section.Parent作为Word.Document;var previousSection=文件节[sectionNumber-1]谢谢。这也是我想到的。我希望有更干净一点的东西,但我想这就行了。唯一让它更复杂的是我只有HeaderFooter对象(因此还有Section对象)。所以我不得不把
var doc=section.Parent作为Word.Document;var previousSection=文件节[sectionNumber-1]