在word中都是由中文、英文组成的文本。
所有内容都是由词组组成的。
比如word中这样的一段文字:
视频提供了功能强大的方法帮助您证明您的观点。
可以分解成的词组有:
| 1 | 视频 |
| 2 | 提供 |
| 3 | 了 |
| 4 | 功能 |
| 5 | 强大 |
| 6 | 的 |
| 7 | 方法 |
| 8 | 帮助 |
| 9 | 您 |
| 10 | 证明 |
| 11 | 您 |
| 12 | 的 |
| 13 | 观点 |
| 14 | 。 |
再比如这样的一段word文本
I like apple。
可以分解成的词组有:
| 1 | I |
| 2 | like |
| 3 | apple |
| 4 | 。 |
| 5 |
在word vba 中可以使用Words对象遍历词组。
比如上述两组词组都可以使用如下的代码列出:
Sub QQ1722187970()
Dim oDoc As Document
Set oDoc = Word.ActiveDocument
Dim oRng As Range
Set oRng = oDoc.Content
Dim oWord As Words
For i = 1 To oRng.Words.Count
Debug.Print oRng.Words(i).Text
Next i
End Sub
每一个Words对象的元素都是一个Range对象,代表一个word(词组)。其中每个word词组包含了词组本身和它后面的空格分隔符。
另外每一个标点符号、段落分隔符也分别代表一个word,为了验证这一观点,可以使用如下的代码:
Sub QQ1722187970()
Dim oDoc As Document
Set oDoc = Word.ActiveDocument
Dim oRng As Range
Set oRng = oDoc.Content
Dim oWord As Words
For i = 1 To oRng.Words.Count
Debug.Print oRng.Words(i).Text, Len(oRng.Words(i))
Next i
End Sub
如下所示可以看出每个词组所包含的字符长度:
| 序号 | 词组 | 长度 |
| 1 | I | 2 |
| 2 | like | 5 |
| 3 | apple | 5 |
| 4 | 。 | 1 |
| 5 | 1 |


发表评论