Solved.
I think it was something to do with my use of braces {} - when I stop searching for a code bracketed in braces (e.g. "{1}") and switch instead to searching for a unique string ("REF01"), the Rge object correctly readjusts its scope and I can use that.
Weird.
Final code:
SearchCode2 = Split(Split(ReplaceText, "{REF0")(i), "}")(0)
Set Rge = wDoc.Content
With Rge.Find
.Text = "REF0" & SearchCode2
.Execute
End With
Rge.Start = Rge.Start - 1
Rge.End = Rge.Start + 7
wDoc.Content.Footnotes.Add Range:=Rge, Reference:=SearchCode2, Text:="test"
Rge.Delete
(Not: I have retained the braces around the unique code, hence needing to adjust the size of Rge at the end. When they are included in the search, the Find function doesn't adjust the scope of Rge.)
Bookmarks