WordTips Home | Formatting | Character Formatting | Intelligent Title Case
Intelligent Title Case
Summary: You can instruct Word to make changes to the capitalization (case) of selections of text.
One case change method, title case, is not as helpful as it might be, however. This tip describes what
you can do to make title case changes even more intelligent. (This tip works with Microsoft Word 97,
Word 2000, Word 2002, and Word 2003.)
Word contains a couple of different ways that you can adjust the case
of selected text. Choosing Format | Change Case displays the Change
Case dialog box, which illustrates the different ways that Word can
change the case of your text.
One of the most common case changes is title case. This type of change
results in each word of the selected text being uppercase, while the
rest of the letters are in lowercase. The only problem with this is
that Word is rather indiscriminate in what it capitalizes. For
instance, if you select the text "this is a test" and then use Format |
Change Case to change the text to title case, you end up with "This Is
A Test." Common rules of capitalization, however, would dictate that
the "short" words ("is" and "a") should not be capitalized.
This is where a macro comes in handy. You can create a macro to
intelligently apply title case to a text selection. The macro can be
programmed so that it ignores a specific set of words while doing its
work. Consider the following macro:
Dim lclist As String
Dim wrd As Integer
Dim sTest As String
' list of lowercase words, surrounded by spaces
lclist = " of the by to this is from a "
Selection.Range.Case = wdTitleWord
For wrd = 2 To Selection.Range.Words.Count
sTest = Trim(Selection.Range.Words(wrd))
sTest = " " & LCase(sTest) & " "
If InStr(lclist, sTest) Then
Selection.Range.Words(wrd).Case = wdLowerCase
When you select some text and run this macro, the first thing it does
is to change the text to Word's standard title case. It then steps
through the words in the selection (Word makes the words available in
the Words collection), examining each one. Each word is extracted and
placed in the sTest variable, which then is converted to lowercase. The
content of sTest is then checked against the lclist string to see if
there is a match. If there is, then the word in the original text is
converted to lowercase.
The key to the macro is the lclist string. This string contains a list
of words that you want to always appear in lowercase. These words are
surrounded by spaces--including the first and last words of the string.
When the sTest comparison is done, sTest contains a leading and
trailing space so that successful matches can be made. (The spaces are
included so that there are no mistakes in word matching, for instance
matching "he" to a part of "the".)
Note, as well, that the comparison portion of the macro doesn't pay
attention to the first word in the text selection. This word is assumed
to be the first word of a phrase or sentence, which should always start
with an uppercase character.
Tip #1685 applies to Microsoft Word versions: 97 | 2000 | 2002 | 2003
The above content is no longer available from the original source but is an exact copy from http://wordtips.vitalnews.com/Pages/T1685_Intelligent_Title_Case.html