如何使用C#4.0中的Microsoft.Office.Interop.Word检测Word文档中的空段落?

问题描述 投票:2回答:1

我想使用Microsoft.Office.Interop.Word检测Word文档中的空段落。假设,如果我的word文档有一些空段落,那么

假设第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文档中检测到空段落。

有没有办法获得空段落列表?

请指导我摆脱这个问题......

c#-4.0 ms-word interop office-interop
1个回答
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个字符,而不仅仅是一个。

你也可以这样做

p.Range.Sentences.Count > 0

要么

p.Range.Characters.Count > 0

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

© www.soinside.com 2019 - 2024. All rights reserved.