VB6.0で
If LenB(StrConv(文字列, vbFromUnicode)) > 20 Then
文字列 = StrConv(LeftB(StrConv(文字列, vbFromUnicode), 20), vbUnicode)
End If
としてある文字列を20バイトで区切ろうとしているのですが、
例えば文字列が
"社会保険料(厚生年金保険料)"
だとすると変換結果が
"社会保険料(厚生年金 "
というように最後に半角スペースのように見える文字が入ってしまいます。
おそらく区切られた直後の2バイト文字の最初の1バイト分が入っているのだと思われるのですが、
これを除去して
"社会保険料(厚生年金"
のようにするにはどうしたらいいのでしょうか?
恐れ入りますがご教授お願いいたします。
とりあえず、vb6 泣き別れ で検索してみてください
…それとも「いわゆる半角を1バイトとしてカウントしたい」のであれば、
Asc()関数について調べてみるのも一興かもしれません
単純に
If LenB(文字列) > 20 Then
文字列 = LeftB(文字列, 20)
End If
とすることで解決いたしました。
お騒がせしました。
>ガッさん
すいません、検索不足でした。
ありがとうございます。
ツイート | ![]() |