No. The only thing that comes close is to use a nested field such as
{ ADVANCE { QUOTE "\\y {=<number of inches>*72 }" }
to go to an absolute vertical spot on the page - where you sbstitute
your number of inches, but
a. it's difficult to think of a way (even using autotexts) to make
that "easier" than working out the number of points from the number of
inches.
b. using that approach injects a sliver of space before the following
text, so you'd probably have to ADVANCE to the line above where you
wanted the text to go. It may also inject a sliver of space above, which
wouldn't help
There may be a simpler fomulation that works better but the obvious
possibility, i.e.
{ ADVANCE \y {=<number of inches>*72 } }
simply does not work. Nor is there anything documented or really obvious
like
{ ADVANCE \y "6in" }
and in this case it would slightly surprise me to discover that you
couls specify the unsits somehow.
If all you need is an absolute vertical location you could insert the
field using a macro that prompts for the location, works out the number
of points and inserts the field, e.g. as a crude example
Sub InsertAdvanceY()
Dim strY As String
Dim rngSelection As Word.Range
' could perhaps detect the current units
' rather than assume inches, and/or allow
' input of 3in, 50pt, 5cm etc.
' and work it out
' but here we keep it really simple
' modify the default as appropriate
strY = InputBox( _
"Enter the vertical position in inches", _
"ADVANCE to absolute vertical position", _
"144")
' cancel without warning if escape or simple blanks
If Trim(strY) = "" Then Exit Sub
' do whatever validation you want
' (perhaps check the number
' against the page height etc.)
' here, just do a crude check
If Val(strY) <= 0 Then Exit Sub
With ActiveDocument
' might want to check the location
' of the selection
' is in the main body first
Set rngSelection = Selection.Range
rngSelection.Collapse direction:=Start
rngSelection.Fields.Add _
Range:=rngSelection, _
Type:=wdFieldAdvance, _
Text:="\y " & CStr(Val(strY)), _
preserveformatting:=False
Set rngSelection = Nothing
End With
End Sub
Anything much more than that and you would probably need to do it as a
userform.
Peter Jamieson
http://tips.pjmsn.me.uk