Word.Tips.Net Welcome toWord.Tips.Net

Helpful Links

Tips.Net Home
WordTips Home

Ask a Word Question
Make a Comment

Tips.Net Store

WordTips FAQ
WordTips Premium

Learn Access Now

Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
Wedding Tips
Word2007 Tips
WordTips

Advertise on the
WordTips Site

Newest Tips

Underlining Quoted Text

Changing Tabs Using the Ruler

Moving Drawing Objects

Standardizing Note Reference Placement

Selecting Printing of Color Pictures

Stubborn Foreign Languages

Sizing the Preview Pane

 

Breaking Lines in E-mail

Summary: If you are creating an e-mail in Word, or are creating text that you will paste into an e-mail document, you may want to limit the length of each line of that text. This is easy to manually do in short messages, but much more difficult and time consuming in longer messages. The handy macro in this tip can do the tedious work for you, rendering a plain text message with each line no longer than a specific length. (This tip works with Microsoft Word 97, Word 2000, Word 2002, Word 2003, and Word 2007.)

Most e-mail client programs—especially those that use plain text instead of HTML—automatically "break" each line of e-mail at 70 or 72 characters. Fortunately, they do not typically break a line in the middle of a word, but do so at the beginning of the word that reaches the 70- or 72-character mark.

Unfortunately, this can have some adverse effects on e-mail you compose in Word. Some of your lines, when viewed by your recipient, can look strange, breaking at less-than-optimal places and generally looking pretty funky. The solution, of course, is for you to break each line when the appropriate place on the line is reached. This way you can control, ahead of time, how your recipient sees your message.

You can do this manually, if desired, by setting your message margins such that there is only 7 or 7.2 inches of space horizontally. You would then use a 12-point monospace font, such as Courier, to type the message. When a word wraps to the next line, simply backspace to the beginning of the word and press the Enter key.

This could get VERY old VERY fast, even if you send only a moderate amount of e-mail. The better solution is to allow Word to do the breaks for you, yet there does not seem to be such a capability in Word. (You can set up your options in Outlook or Outlook Express to automatically break lines for you, but that doesn't give you as fine a control as doing it directly within Word.)

This brings us to macro territory. You can use the following macro to inspect the current document and automatically "chop up" each paragraph so that no line is over 70 characters in length.

Sub ChopItUp()
    Dim DocThis As Document, docThat As Document
    Dim sParRaw As String
    Dim iParCount As Integer, iParOut As Integer
    Dim J As Long, X As Integer
    Dim iLineWidth As Integer
    Dim sLeft As String, sRight As String
    Dim sTemp As String

    iLineWidth = 70

    Set DocThis = ActiveDocument
    Documents.Add
    Set docThat = ActiveDocument
    DocThis.Activate

    iParCount = DocThis.Paragraphs.Count
    iParOut = 0
    For J = 1 To iParCount
        sParRaw = DocThis.Paragraphs(J).Range.Text
        If Right(sParRaw, 1) = Chr(13) Then
            sParRaw = Left(sParRaw, Len(sParRaw) - 1)
        End If

        sRight = sParRaw
        If Len(sRight) > iLineWidth Then
            While Len(sRight) > iLineWidth
                sLeft = Left(sRight, iLineWidth)
                sRight = Mid(sRight, iLineWidth + 1)
                flgDoIt = True
                If Left(sRight, 1) = " " Then
                    sRight = Mid(sRight, 2)
                    flgDoIt = False
                End If
                If Right(sLeft, 1) = " " Then
                    sLeft = Left(sLeft, Len(sLeft) - 1)
                    flgDoIt = False
                End If

                If flgDoIt Then
                    X = InStr(LTrim(sLeft), " ")
                    If X > 0 Then
                        sTemp = ""
                        While Right(sLeft, 1) <> " "
                            sTemp = Right(sLeft, 1) & sTemp
                            sLeft = Left(sLeft, Len(sLeft) - 1)
                            If Len(sLeft) = 0 Then
                                sLeft = sTemp & " "
                                sTemp = ""
                            End If
                        Wend
                        sRight = sTemp & sRight
                    End If
                    sLeft = Trim(sLeft)
                End If

                docThat.Paragraphs.Add
                docThat.Paragraphs(docThat.Paragraphs.Count).Range = sLeft
                sLeft = ""
                sRight = Trim(sRight)
            Wend
        End If
        docThat.Paragraphs.Add
        docThat.Paragraphs(docThat.Paragraphs.Count).Range = sRight
    Next J
End Sub

When you run this macro, it opens a brand new document and copies the information from the old document to it, making sure that each line is no longer than 70 characters. The new document will not contain any formatting. (Since you are putting together plain-text e-mail, this should not be a problem.) If you want a different line width, all you need to do is change the value assigned to iLineWidth in the macro.

Tip #1336 applies to Microsoft Word versions: 97 | 2000 | 2002 | 2003 | 2007

Take Control! Master the real power behind Word! Successfully master the secrets of powerful formatting and create documents that stand out from the rest. Best of all, you can create documents that are easy to maintain and quick to change.
 
Check out WordTips: Styles and Templates today!