增量变量的问题

时间:2016-09-21 09:51:19

标签: vba ms-word

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”的值没有增加,该部分没有发生,并且宏给出错误:“请求的集合不存在”

为什么值不会增加。

1 个答案:

答案 0 :(得分:1)

嗯,它适用于Selection。如果您没有选择任何文本,它将为您提供上述错误。但为什么过于复杂呢?此代码执行您(似乎)想要的内容:

Dim chr As Range

For Each chr In Selection.Characters

  MsgBox chr.Text

Next chr