【发布时间】:2020-05-21 07:04:39
【问题描述】:
我正在开发一个宏,它遍历活动文档的所有字符:
Dim index As Integer
index = Selection.Start
Dim counter As Integer
counter = 0
MsgBox Selection.Characters(1)
For Each c In ActiveDocument.Characters
If counter < index Then
counter = counter + 1
Else
MsgBox c.Font.Name
End If
Next
通过第一个 If 语句,我想跳过所有字符,直到我的选择标记。
我的问题是索引超过了最大值。字符数(可能是因为图像)导致错误循环。
例如:索引显示2889,但我整个文档的字符数只有1238。
如何获取所选角色的位置?
【问题讨论】:
-
你的字符数是如何计算的?通过在审阅选项卡的校对部分使用字数统计,还是使用
ActiveDocument.Characters.Count?需要注意的是,Characters.Count的 VBA 还将包含回车符(以及其他空格字符,我敢肯定)。