Hi Dave Neve
Here's a macro that will overline the selected text:
Public Sub Overline()
Dim rngTextToOverline As Word.Range
Dim fldNew As Word.Field
Dim strText As String
Dim strCode As String
Dim lngTextLen As Long
' If the selection object is not a block of text
' select all text to the left until we hit a space
Set rngTextToOverline = Selection.Range
If Selection.Type = wdSelectionIP Then
rngTextToOverline.MoveStart wdWord, -1
End If
strText = rngTextToOverline.Text
lngTextLen = Len(strText)
If lngTextLen = 0 Then Exit Sub
' Build the equation field
strCode = "EQ \o(" & strText & "," & String$(lngTextLen, 175) & ")"
Set fldNew = Selection.Fields.Add(rngTextToOverline, wdFieldEmpty, _
"", False)
' Do it this way otherwise the space normally present before the "}"
' causes Word to display an extra space after the overlined word
fldNew.Code.TextRetrievalMode.IncludeFieldCodes = True
fldNew.Code.Text = strCode
fldNew.Code.TextRetrievalMode.IncludeFieldCodes = False
End Sub
There's a small gotcha with this code. It adds an overline character for every
character selected. This may result in the overline being longer than the text.
This is because the fonts are proportional so "iiiiiiiiii" is shorter than
"wwwwwwwwww" but the length of each overline is the same.
HTH + Cheers - Peter