j,
I think your code needs to be tempered a little to keep it under control:
Sub Revisions_Accept_String()
Dim oRng As Word.Range
Set oRng = Selection.Range
Selection.HomeKey Unit:=wdStory
With Selection.Find
.ClearFormatting
.Text = oRng.Text
.Forward = True
Do While .Execute
Select Case True
Case Selection.Range.InRange(oRng) = True And _
Selection.Range.Revisions.Count > 0 And _
Selection.Range.Revisions(1).Type = wdRevisionInsert
Selection.Range.Revisions.AcceptAll
Exit Do
Case Selection.Range.Revisions(1).Type <> wdRevisionInsert
If MsgBox("Accept this revision?", vbYesNo) = vbYes Then
Selection.Range.Revisions.AcceptAll
End If
End Select
Selection.Collapse wdCollapseEnd
Loop
End With
End Sub
Sub Revisions_Accept_DeleteString()
Dim oRng As Word.Range
Set oRng = Selection.Range
Selection.HomeKey Unit:=wdStory
With Selection.Find
.ClearFormatting
.Text = oRng.Text
.Forward = True
Do While .Execute
Select Case True
Case Selection.Range.InRange(oRng) = True And _
Selection.Range.Revisions.Count > 0 And _
Selection.Range.Revisions(1).Type = wdRevisionDelete
Selection.Range.Revisions.AcceptAll
Exit Do
Case Selection.Range.Revisions(1).Type <> wdRevisionDelete
If MsgBox("Accept this revision?", vbYesNo) = vbYes Then
Selection.Range.Revisions.AcceptAll
End If
End Select
Selection.Collapse wdCollapseEnd
Loop
End With
End Sub