How to find out whether a range is off-screen
Article contributed by Jonathan West
If the [Range].Information(wdHorizontalPositionRelativeToPage) property returns -1, then the range is not on screen. However if part of the range is on screen, it will not return -1. So if you want to check specifically whether the start or end of the range is on screen, you would need to collapse the range:
Sub CheckIfEndOfRangeOnScreen()
Dim MyRange
As Range, EndOfRange As Range
Set MyRange =
ActiveDocument.Range
Set EndOfRange =
MyRange.Duplicate
EndOfRange.Collapse wdCollapseEnd
If
EndOfRange.Information(wdHorizontalPositionRelativeToPage) = -1
Then
MsgBox "The end of the range is not
on screen"
End If
End Sub