テキストボックスに入力される文字数を制限する為に
作成したチェック関数の一部なのですが、
10文字以上入力されたら以降を切り取る仕様です。
ただし、10Byte目と11Byte目にまたがって
漢字を入力された場合の処理に困っています。

'Str=テキストボックスに入力された文字列です。
'長さが制限バイト数(10Byte)を越えている場合
If LenB(StrConv(Str, vbFromUnicode)) > 10 Then
Str = Trim(StrConv(MidB(StrConv(Str, vbFromUnicode), 1, 10), vbUnicode))
↑この処理だと漢字の前1Byte(前から数えて10Byte目)に残っている
ごみバイトをUnicodeに変換する際、スペースに変換されるので
Trimでスペースを省かれ、とりあえずは仕様どおり仕上げることができました。
ですが、漢字の前1ByteのごみをUnicodeに変換する際、StrConv関数が
必ずしもスペースに変換するとは思えないのでどうしても納得行きません。
アドバイスいただけませんか?他にこんな方法がある、とかでも嬉しいです。
長文失礼しました、よろしくお願いします。
なお、実装はAccess97でのVBAなのでなぜだかテキストボックスに
MaxLenプロパティがないです。