This is not straightforward. Do you want to know if you are within a
particular field or, more generally, just whether or not the range
intersects any fields?
If the former, then compare the range's start and/or end against the field's
start and end. If the latter, then you need to check something like this:
With ActiveDocument.StoryRanges(Selection.StoryType)
Discrepancy = -.Fields.Count
.SetRange ActiveDocument.StoryRanges(Selection.StoryType).Start,
Selection.Start
Discrepancy = Discrepancy + .Fields.Count
.SetRange Selection.End,
ActiveDocument.StoryRanges(Selection.StoryType).End
Discrepancy = Discrepancy + .Fields.Count
End With
If Discrepancy <> 0 then
' The Range intersects at least one field
endif