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

Changing Tabs Using the Ruler

Moving Drawing Objects

Standardizing Note Reference Placement

Selecting Printing of Color Pictures

Stubborn Foreign Languages

Sizing the Preview Pane

Moving Rows and Columns With the Mouse

 

Finding Long Lines

Summary: Word is very dynamic in how it "flows" text from one line to another and one page to another. In most cases we are willing to allow Word to do its job in this area. In some situations, however, you may need to know if a paragraph has flowed to a new line so that you can "force" it to fit all on one line. Making this determination is not as easy as you might like. (This tip works with Microsoft Word 97, Word 2000, Word 2002, Word 2003, and Word 2007.)

Lori asked for an easy way to determine if a paragraph "spills over" to more than one line. It seems that when Lori was merging labels, if a line (paragraph) runs over and wraps to the next line on the label, she wanted to reduce the point size on the text so that the line occupied just that—a single line.

Wrapping lines is a real-time (and print-time) feature of Word. Word performs internal calculations continuously to work out what to display on screen or what to print on paper. Where text wraps from one line to another there is actually nothing to mark the point of wrap (as there is in some other word processors), so there's nothing to actually search for or find. In addition, Word's Find feature does not have an option (special or otherwise) to seek stuff and say how many lines the found stuff spreads over.

It is possible to do a long series of search-and-replace operations to try to "fudge" and find out the too-long lines. For instance, you could follow these general steps:

  1. Replace all spaces in a merged document with some standard character combination, such as [s].
  2. Replace all dashes in a merged document with some standard character combination, such as [d].
  3. Now, all paragraphs in the document consist of a single, run-together word.
  4. Run the hyphenation tool to manually hyphenate the document.
  5. Whenever Word finds a line that needs to be hyphenated, you can decrease the point size of that line.
  6. Redo your replacements, return [s] and [d] to their normal spaces and dashes.

This may sound a bit convoluted, and it is. But it will work fairly well, unless you want to get into writing a macro. (Believe it or not, even if you don't use macros that often, this particular macro is much easier than doing the above steps over and over again.)

When trying to decide how to put the macro together, a sad discovery awaits us in VBA. Veteran Word users will remember that when you use the Word Count feature in Word, the program shows you the number of lines in your document. This would imply that you can use VBA to determine the number of lines in a selection. Unfortunately, the ReadabilityStatistics property in VBA doesn't return a statistic for the number of lines. That means that the statistic shown in the Word Count dialog box is internally calculated as needed.

The only apparent solution is to rely upon the Information property for wdFirstCharacterLineNumber, which returns the line number for the first character in a selection. Unfortunately, there is no wdLastCharacterLineNumber specified in VBA, so the macro must make a selection for the first character in a paragraph, compare it to a selection of the last character in a paragraph, and see if the same two line numbers are returned. If they aren't, then the point size of the paragraph can be reduced and another calculation done.

The following VBA macro, ParaforceOneLine, does just this process. It examines each paragraph in a document, and if any given paragraph runs over a single line, the point size of that particular paragraph is reduced until it can fit on a single line.

Sub ParaForceOneLine()
    Dim objPara As Paragraph
    Const ChangeSize = 0.5

    For Each lobjPara In ActiveDocument.Paragraphs
        With objPara.Range
            While .Information(wdFirstCharacterLineNumber) <> _
              .Characters(Len(.Text)).Information(wdFirstCharacterLineNumber)
                .Font.Size = .Font.Size – ChangeSize
            Wend
        End With
    Next objPara
End Sub

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

Document and Annotate! One of the easily overlooked tools provided by Word is the ability to add footnotes and endnotes to your documents. WordTips: Footnotes and Endnotes is the definitive resource guide to using these tools to enhance your documents.
 
Check out WordTips: Footnotes and Endnotes today!