2011-06-02 95 views
2

我想使用Microsoft.Office.Interop.Word检测Word文档中的空白段落。 假设,如果我的word文档中有一些空段落,然后如何检测Word文档中使用Microsoft.Office.Interop.Word C#4.0中的空白段落?

假设第3款是一个空段落...

Microsoft.Office.Interop.Word.Paragraph para = wordDoc.Content.Paragraphs[3]; 
int cSent = para.Range.Sentences.Count; 

for (int j = 1; j <= cSent; j++) 
{ 
Microsoft.Office.Interop.Word.Range sent = para.Range.Sentences[j]; 
MessageBox.Show("Sent lines :" + sent.Text.ToString()); 
} 

然后空段落采取了最后一个非空段落的最后一句。所以,我无法在Word文档中检测到空白段落。

有没有办法得到空白段列表?

请指引我走出这个问题...

回答

5

嗯,首先,你可能需要通过所有的头和所有部分的页脚迭代,如果你也想看看在这些报头段的空/页脚。

其次,这样的事情应该工作

for each p in Doc.Content.Paragraphs 
    if (p.Range.End - p.Range.Start) > 1 then (The paragraph is not empty) 
Next 

您可能需要与“1”的个数玩,因为我不记得在那里的Word设置起点和终点,空段落可能是2 chars从头到尾长,不只是一个。

你也可以做这样的事情

p.Range.Sentences.Count > 0 

p.Range.Characters.Count > 0 

但这些技术通常不是检查开始和结束位置较慢。

+0

@Saravanan请不要编辑其他人的答案,但添加评论。 – phihag 2011-06-02 15:55:06

+1

@phihag,stackoverflow支持编辑其他人的答案。如果你不想让人们编辑答案,那么你应该使用传统的论坛。阅读有关编辑的常见问题。 – 2011-06-03 12:43:01

+0

@Samuell Neff这个评论只是OP被拒绝的编辑的后续行动,他发布了对编辑的回应作出的反应(如果内存服务,它甚至以'@ drventure'开头)。编辑问题纠正错误,添加新的细节等等当然很好 – phihag 2011-06-03 17:32:25

相关问题