Dim chr As Range
test = 1
For Each chr In ActiveDocument.Range.Characters
Dim firstChar As Word.Range
Set firstChar = Selection.Characters(test)
MsgBox (Selection.Characters(test))
MsgBox (test)
test = test + 1
Next chr
这应该选择第一个字符,然后再用它做一些事情,并移动到第二个字符,由于“test”的值没有增加,该部分没有发生,并且宏给出错误:“请求的集合不存在”
为什么值不会增加。
答案 0 :(得分:1)
嗯,它适用于Selection
。如果您没有选择任何文本,它将为您提供上述错误。但为什么过于复杂呢?此代码执行您(似乎)想要的内容:
Dim chr As Range
For Each chr In Selection.Characters
MsgBox chr.Text
Next chr