Overline?

D

Dave Neve

Hi
There are hundreds of options for 'underline' but nothing called 'overline'.

Is this possible?

I've tried doing it with ascii character 0175 but it won't go over a letter.

Any ideas please?

Thanks
 
P

Peter Hewett

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top