Você poderia fazer isso usando algo nas seguintes linhas (eu não testei esse código exato, por isso espere erros)
Sub openAndProcess1Document( FullName As String, target As Word.Document )
' FullName is the full path+file name of the .docx
' target is a reference to the document that was the
' ActiveDcoument before you call this routine
' Or you could set up a Range variable and pass that
' So loop through your list of fullnames, calling this Sub
Dim doc as Word.Document
Dim fld as Word.Field
Dim r as Word.Range
Dim strCode as String
Set doc = Documents.Open(FullName)
For each fld in doc.Fields
if fld.Type = wdFieldIndexEntry then ' It's an XE field
strCode = fld.Code ' this will look something like 'XE "scissors:running with"'
' do whatever you want with strCode here,
' e.g.
' Set r = target.Content
' r.Collapse wdCollapseEnd
' r.InsertParagraph
' r.InsertAfter strCode
' Set r = Nothing
end if
Next
doc.Close Savechanges:=wdDoNotSaveChanges
Set doc = Nothing
End Sub
Então você precisa de algo como
Dim target as Word.Document ' doesn't have to be called "target"!
Set target = ActiveDocument
For i = 1 to intDocumentCount ' or some such
Call openAndProcessDocument(strArrayOfDocumentFullNames(i), target)
Next ' i
' optionally...
target.Activate