在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 |
发表评论