0
我想循環逐個Word文檔。我目前使用的ActiveDocument.Words集合看起來很簡單。但是,有一個奇怪的問題,如果我改變一個單詞的內容,內部指針不會移動到下一個單詞,而是再次指向剛被修改的同一單詞。而且在某些情況下,這會產生一種情況,例行程序無限循環地停留在單個單詞上。Word VBA:通過循環修改單詞ActiveDocument.Words創建一個無限循環
一個例子代碼:
Sub LoopWords()
Dim wd As Range
i = 0
For Each wd In ActiveDocument.Words
If wd.Text = "foo " Then
wd.Text = wd.Text & "bar "
End If
'Prevent infinite loop:
i = i + 1
If i > 99 Then
Exit For
End If
Next wd
End Sub
因此,例如,使用含有短語這個宏的文檔「中有一些在這裏FOO」。導致「有一些foo吧檯吧檯吧檯吧檯吧檯吧檯吧檯吧檯吧檯吧檯吧...」等等。
那麼爲什麼地球上它的行爲如此呢?
如何在需要時逐字循環並修改文字?
你不應該修改內'用於each'環......這些循環像getter和他們都應該返回任何東西info/data ...我不確定這是什麼原因,但... – 2014-09-22 11:01:19