Format Strings in Proper Case

Format Strings in Proper Case

VBScript does not support the StrConv() function, which is useful to format strings in proper case. Use this algorithm to help you:

Public Function StrConv( _	ByVal psString, ByVal plFormat) 'As String	Dim lsString 	'As String	Dim laString 	'As String	Dim liCount 		'As Integer	Dim lsWord 		'As String	Const vbProperCase = 3		lsString = psString		Select Case plFormat		Case vbProperCase		lsString = LCase(lsString)		laString = Split(lsString)		For liCount = 0 To UBound(laString)			lsWord = laString(liCount)			If Len(Trim(lsWord)) > 0 Then				lsWord = UCase(Left(lsWord, 1)) & _					Right(lsWord, Len(lsWord) - 1)				laString(liCount) = lsWord			End If		Next liCount		lsString = Join(laString)	Case Else	End Select		StrConv = lsStringEnd Function

The sample call StrConv(the pHillIes wiLL PrevaiL, 3) returns the string 'The Phillies Will Prevail.'

You can use the same name for the corresponding Visual Basic function to facilitate easy adoption of the native version should it ever be supported in future releases of VBScript. If desired, you also can add support for the other StrConv formatting options. VBScript doesnt currently support the Mid statement (as opposed to the Mid function) either, or you could rewrite this algorithm more efficiently using that.


Share the Post: