欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-19 13:25:21
问题对于一个Word.Paragraph对象p,使用string text = p.Range.Text;获取p的文本内容。但这种方法存在一个问题:如果这一段落是自动编号的,例如1、aaa2、bbb3、ccc这时识别出来的text分别是aaa、bbb、ccc。但事实上我想要获取的是1、aaa。解决办法对于序号单独获取p.Range.ListFormat.ListStringListFormat详细信息见:ListFormatListFormat对象表示区域的所有列表格式属性...

问题

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

本文地址:https://blog.csdn.net/qq_36834256/article/details/107238702