Okay this is likely due to my not properly understanding objects.
I'm using _Word_DocRangeSet to extend a range (in this case to the end of a line).
The issue I've encountered is that extending one range seems to affect another range.
It may be that an object can't be assigned or equated.
In any event the program and test file (place in the same directory) illustrate the issue.
Test 1 - shows the documentation for _Word_DocRangeSet correctly shows how the range is extend
This works for me (uncomment one or the other of the following method so they do not interfere):
Global $oErrorHandler = ObjEvent("AutoIt.Error", "_ErrFunc")
Global $oWord = _Word_Create()
Global $oDoc = _Word_DocOpen($oWord, @ScriptDir & "\test.docx")
Global $oRange1 = _Word_DocFind($oDoc, "TestRange1")
$oRange1.Underline = True
MsgBox(0, "", "Range1 found and underlined")
Global $oRange2 = _Word_DocFin