0
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
これは、最初の文字を選択して後でそれを実行し、2番目の文字に移動し、「テスト」の値が増加していないためにその部分が実行されていない場合、 "要求されたコレクションが存在しません"というエラーがマクロに表示されます。変数をインクリメントするときの問題
値が増えないのはなぜですか?
上記のエラーは増分が発生するポイントの前にあるため、テストの値は増分されませんが、エラーの発生場所を正確に教えていない可能性があります。 –
私はこのエラーが 'Set firstchar = Selection.Characters(test)'で起きていると思います。 –
"要求されたコレクションが存在しません"または "要求されたコレクションのメンバーが存在しません"というエラーはありますか?ドキュメント内のすべての文字をループして、選択範囲内の同じ文字数にアクセスしようとしています。ドキュメント全体を選択していないとエラーが発生します。ドキュメントの範囲を使用できるだけなので、その選択は無関係になります。 – arcadeprecinct