シフトJISのバイト数を返す関数は VBScript にはない。
そのため、計算で求めなくてはならない。
文字列のバイト数を求めるには、文字ごとにバイト数を求め、それを合計すればよい。
文字のバイト数は、Asc 関数の戻り値と 0xFF00 の論理積から求められる。
0 なら 1 バイト、それ以外なら 2 バイトである。
↓ イメージ
If (Asc(string) And &HFF00) = 0 Then
' → 1バイト文字
Else
' → 2バイト文字
End If
例: シフトJISの文字列のバイト数を返す関数
Function GetSJISByteCount(str)
Dim byteCount
byteCount = 0
Dim i
For i = 0 To Len(str) - 1
Dim ch
ch = Mid(str, i + 1, 1)
If (Asc(ch) And &HFF00) = 0 Then
byteCount = byteCount + 1
Else
byteCount = byteCount + 2
End If
Next
GetSJISByteCount = byteCount
End Function