半角以外は2でカウント
LenB(StrConv(文字, vbFromUnicode))の場合はS-jisにない変な文字が1でカウントされる。
Public Function LenUnicode(t As String) As Integer
Dim i As Integer
LenUnicode = 0
For i = 1 To Len(t)
If Chr(Asc(Mid(t, i, 1))) <> Mid(t, i, 1) Then
LenUnicode = LenUnicode + 2
ElseIf 0 <= AscW(Mid(t, i, 1)) And AscW(Mid(t, i, 1)) <= 127 Then
LenUnicode = LenUnicode + 1
ElseIf &HFF61 <= AscW(Mid(t, i, 1)) And AscW(Mid(t, i, 1)) <= &HFF9F Then
LenUnicode = LenUnicode + 1
Else
LenUnicode = LenUnicode + 2
End If
Next
End Function