问题
对于一个Word.Paragraph对象p,使用
string text = p.Range.Text;
获取p的文本内容。
但这种方法存在一个问题:如果这一段落是自动编号的,例如
1、aaa
2、bbb
3、ccc
这时识别出来的text分别是aaa、bbb、ccc。但事实上我想要获取的是1、aaa。
解决办法
对于序号单独获取
p.Range.ListFormat.ListString
ListFormat
详细信息见:
ListFormat
ListFormat对象表示区域的所有列表格式属性
重要属性:
-ListLevelNumber:返回或设置指定ListFormat对象中的第一段的列表级别。
返回表示InlineShape用作图片项目符号列表中的项目符号的图片的对象。
ListString:返回一个String类型的值,该值代表指定ListFormat对象的范围中第一段的列表值的外观。
ListValue:返回ListFormat对象的区域中第一段的数值,例如第二个就是2.
重要方法:
public void ConvertNumbersToText (ref object NumberType);
将指定ListFormat对象中的列表编号和LISTNUM域改为文本。
参数:可选对象。 要转换的编号类型。 可以是任何WdNumberType常量。