Microsoft KB Archive/109220

= How To Capitalize the First Letter of Each Word in a String =

Article ID: 109220

Article Last Modified on 6/29/2004

-

APPLIES TO


 * Microsoft Visual Basic 2.0 Standard Edition
 * Microsoft Visual Basic 3.0 Professional Edition
 * Microsoft Visual Basic 2.0 Professional Edition
 * Microsoft Visual Basic 3.0 Professional Edition

-



This article was previously published under Q109220



SUMMARY
This article demonstrates how to capitalize the first letter of each word in a string.



Step-by-Step Example
The following example capitalizes the first word, and any word preceded by a space or carriage-return-plus-linefeed sequence.

 Start a new project in Visual Basic. Form1 is created by default. Add a Text Box and a CommandButton to Form1.  Double-click the text box to open the code window. Add the following code to the LostFocus event for the Text box: Sub Text1_LostFocus

Dim t As String t = Text1.Text ' Put contents of text box ' into a string variable. If t <> "" Then Mid$(t, 1, 1) = UCase$(Mid$(t, 1, 1)) For i = 1 To Len(t) - 1 If Mid$(t, i, 2) = Chr$(13) + Chr$(10) Then ' Capitalize words preceded by carriage return plus ' linefeed combination. This only applies when the ' text box's MultiLine property is set to True: Mid$(t, i + 2, 1) = UCase$(Mid$(t, i + 2, 1)) End If              If Mid$(t, i, 1) = " " Then ' Capitalize words preceded by a space: Mid$(t, i + 1, 1) = UCase$(Mid$(t, i + 1, 1)) End If           Next Text1.Text = t        End If

End Sub  Start the program or press the F5 key. Enter lowercase words in the text box. Click the CommandButton or press the TAB key to cause the text box to lose the focus. The first letter of each word in the text box will be capitalized. You may continue to enter more text and change the focus as often as you want. Close the form to end the program.

Keywords: kbhowto kbprogramming KB109220

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.