文字列をSJIS換算のバイト数で切断出力する関数

 


'指定されたUnicode文字列を、SJIS全角文字を真中でちょん切らない
'ように注意しながら、SJIS換算のLimlenの長さで制限して出力する関数
Public Function LimitBySJIS(strWK As String, Limlen As Long) As String

Dim i As Long, Ulen As Long, Slen As Long

    Ulen = Len(strWK)
    Slen = 0
    LimitBySJIS = ""
    
    If Ulen = 0 Then Exit Function
    
    For i = 1 To Ulen
        Slen = Slen + LenB(StrConv(Mid(strWK, i, 1), vbFromUnicode))
        If Slen > Limlen Then
            Exit For
        Else
            LimitBySJIS = LimitBySJIS & Mid(strWK, i, 1)
        End If
    Next i

End Function




トップページに戻る

Tips一覧に戻る