1

我得到了 word 文档中选定部分的范围对象。
我想获得该范围内的文本。
我面临的问题是我想用数字/项目符号阅读项目符号/编号列表。
例如,如果选定区域的内容是,

1.abc
2.bcd
3.efg

我想让读取的字符串为 1.abc 2.bcd 3.efg。

我使用了 range.text。它只给出没有项目符号/数字的列表内容。
我甚至将 range.ListFormat.ListString 与 range.text 一起使用。
这里的问题是,如果选择的部分是

1.ab c
2.bcd
3.efg

那么我得到的字符串是“1.c bcd efg”。主要是因为 range.ListFormat.ListString 给出了第一个列表项的项目符号/编号。

但我想要的是类似的东西

  1. c 2. bcd 3. efg

有什么方法/属性可以做到吗?
最好使用词对象模型本身。

4

1 回答 1

1

你需要从这样的东西开始,但细节取决于你是否想要段落终止字符,等等。

Dim p As Paragraph
Dim s As String
s = ""
For Each p In Selection.Range.Paragraphs
  s = s & p.Range.ListFormat.ListString & " " & p.Range.Text
Next
Debug.Print s
End Sub
于 2013-10-25T12:51:32.510 回答