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.