半角以外は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