【发布时间】:2016-03-29 22:42:02
【问题描述】:
出于调试目的,出于好奇,我想研究一下 word 文档的结构。作为一个实际的应用程序,我想象一个基于 VBA 的转换器,从 Word 到其他格式。
问题:我如何理解段落中存储的内容?
例如:
在 VBA 的帮助下,我想找到该文档包含:
- 字母A
- 按钮 B
- 字母 C
- 段落结尾
我试图逐个字符地查看文档:
Private Sub CommandButton1_Click()
Dim r As Range
Dim i As Integer
For i = 0 To ActiveDocument.Range.End - 1
Set r = ActiveDocument.Range(i, i + 1)
Debug.Print "The symbol: " & r.Text
Next
End Sub
结果是:
The symbol: A
The symbol:
The symbol:
The symbol: C
The symbol: O
The symbol: N
The symbol: T
The symbol: R
The symbol: O
The symbol: L
The symbol:
The symbol: F
The symbol: o
The symbol: r
The symbol: m
The symbol: s
The symbol: .
The symbol: C
The symbol: o
The symbol: m
The symbol: m
The symbol: a
The symbol: n
The symbol: d
The symbol: B
The symbol: u
The symbol: t
The symbol: t
The symbol: o
The symbol: n
The symbol: .
The symbol: 1
The symbol:
The symbol: \
The symbol: s
The symbol:
The symbol:
The symbol:
The symbol:
The symbol: C
The symbol:
按钮分布在一个范围内。我找不到可以让我区分按钮和普通文本的范围对象属性。
【问题讨论】:
-
有很多方法可以进行这种循环。该按钮是一个
Field,可以使用Range.Fields集合来识别。