I took the liberty of borrowing Raystafarian's snippet and expanding on it. You would change the line filename="c:\folder\file.txt with the path and filename of a plain text file, where the contents are a word or phrase, followed by a tab, followed by a word or phrase, followed by end of line. I didn't bother with error checking, so if you don't have an end of line on the last line, the text for that line will not be replaced. Also if you don't include a tab on each line, this macro will probably break. Back up your word document to facilitate easy reversion.
Sub Macro1()
Dim ff As Long
Dim x As Long
Dim filename As String
Dim buffer As String
Dim charbuffer As String * 1
filename = "c:\folder\file.txt"
ff = FreeFile
Open filename For Binary As ff
buffer = ""
charbuffer = ""
For x = 1 To LOF(ff)
Get #ff, , charbuffer
If charbuffer <> vbCr And charbuffer <> vbLf Then
buffer = buffer & charbuffer
Else
If buffer <> "" Then processBuffer buffer
buffer = ""
End If
Next x
Close ff
End Sub
Sub processBuffer(buffer As String)
Dim varArray As Variant
varArray = Split(buffer, vbTab)
makeReplacements varArray(0), varArray(1)
End Sub
Sub makeReplacements(ByVal strToReplace As String, ByVal strReplacement As String)
'MsgBox strToReplace & " will be replaced by " & strReplacement
Selection.Find.ClearFormatting
With Selection.Find
.Text = strToReplace
.Replacement.Text = strReplacement
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
End Sub