View Single Post
  #4   Report Post  
stephanie
 
Posts: n/a
Default

This macro would be very helpful for me. But I am a macro-newbie.
Do you have time to help me?
I opened VB editor, and pasted in everything from Sub titleCaseWith
LowerCase() to End Sub. Closed VB editor.
In Word, selected a passage to convert. Tried to run the macro (selected its
title, and clicked "run").
Got a message: Compile error: Sub or function not defined.
When I click OK, Sub titleCaseWith LowerCase() is yellow highlighted.
What shall I do?
Many thanks.

"Greg Maxey" wrote:

Nick,

GNO's method will work for "all" words like you asked. However, here is a
macro that will title case only the words that would normally be in title
case (i.e., excludes words like a, or, etc.). You can exit the "excludes"
to suit your needs:

Sub TitleCaseWithLowerCase()

Application.ScreenUpdating = False

'Capitalize all words in selection
Selection.FormattedText.Case = wdTitleWord

'Uncapitalize the listed words
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting

Call DoTitleCase("The ")
Call DoTitleCase("Of ")
Call DoTitleCase("And ")
Call DoTitleCase("Or ")
Call DoTitleCase("But ")
Call DoTitleCase("A ")
Call DoTitleCase("An ")
Call DoTitleCase("To ")
Call DoTitleCase("In ")
Call DoTitleCase("With ")
Call DoTitleCase("From ")
Call DoTitleCase("By ")
Call DoTitleCase("Out ")
Call DoTitleCase("That ")
Call DoTitleCase("This ")
Call DoTitleCase("For ")
Call DoTitleCase("Against ")
Call DoTitleCase("About ")
Call DoTitleCase("Between ")
Call DoTitleCase("Under ")
Call DoTitleCase("On ")
Call DoTitleCase("Up ")
Call DoTitleCase("Into ")

'Uncomment the next line if you want the selection dismissed.
'Selection.Collapse wdCollapseStart

're-capitalize first word in title
Selection.Characters(1).Case = wdUpperCase

End Sub

--
Greg Maxey/Word MVP
See:
http://gregmaxey.mvps.org/word_tips.htm
For some helpful tips using Word.

NickEaston wrote:
I need a macro or something to capitalize the first letter of all
words in selections of several hundred words each.