c# VSTO for Word:自动编号下获取序号

2021年6月30日 2点热度 0条评论 来源: ayouayouwei

问题

对于一个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常量。

    原文作者:ayouayouwei
    原文地址: https://blog.csdn.net/qq_36834256/article/details/107238702
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。