我想使用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文档中检测到空段落。
有没有办法获得空段落列表?
请指导我摆脱这个问题...
答案 0 :(得分: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
但这些技巧通常比检查开始和结束位置要慢。