¿Cómo acelerar el reemplazo múltiple usando VBA en Word?

Estoy escribiendo una macro de Word que lee alrededor de 1000 pares de palabras de un archivo de Excel y reemplaza en consecuencia un archivo de Word. Al principio estaba usando el siguiente código para el reemplazo:

    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = SrcText
        .Replacement.Text = DestText
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = False
        .MatchFuzzy = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll

Funcionó, pero parecía un poco lento para grandes archivos de Word. Luego intenté leer primero todo el contenido en una variable de cadena, buscar allí, luego alterar el archivo de Word cuando se encontró un objetivo de reemplazo (aunque en realidad no estoy seguro de que esto pueda ser más rápido).

Al hacer eso me encontréuna inconsistencia algo extraña. Por ejemplo, si crea un archivo de Word con solo una tabla de celda única en la primera fila:

luego, en el editor de VBA, el siguiente código le dará 2.

    Debug.Print Len(ActiveDocument.Characters(2))

No sé si existen otras inconsistencias de este tipo y se quedó atascado allí.

¿Hay alguna solución o hay alguna otra forma de acelerar el reemplazo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta