Thanks again for the help. Basically, I want to reconstruct the list of pages for an entry in the index, without updating the index or having to search for the entry in it.
The following works, but is slow, because I have to call the select method (as you suggested in your earlier message). Code to take care of \r indexentries is still to be added. Any other ideas?
Private Sub RefreshPageList()
Dim Out As String
Dim MyField As Field
Dim MyRange As Range
Dim InitialSelection As Range
Dim i As Long
Dim p As Long
Out = ""
Application.ScreenUpdating = False
Set InitialSelection = Selection.Range
For Each MyField In ActiveDocument.Fields
If MyField.Type = wdFieldIndexEntry Then
i = StrComp(Mid(MyField.Code, 6, Len(IndexEntries.Text)), IndexEntries.Text, vbTextCompare)
If i = 0 Then
If Out <> "" Then Out = Out & ", "
MyField.Select
p = Selection.Information(wdActiveEndPageNumber)
Out = Out & Str(p)
End If
End If
Next
PgList.Text = Out
ActiveDocument.Range(InitialSelection.Start, InitialSelection.End).Select 'Selection = InitialSelection
Application.ScreenUpdating = True
End Sub