投稿日 | : 2004/12/21(Tue) 12:40 |
投稿者 | : NAO |
Eメール | : |
URL | : |
タイトル | : Re^4: 数字列の長さについて |
返事ありがとうございます。
おかげ様で解決しました。
ありがとうございました。
> > 返事ありがとうございます。
> >
> > LenB(StrConv("20040501", vbFromUnicode))の
> > "20040501"は、実はText1(テキストボックス)に入力したもので、
> > 実際は、LenB(StrConv(Text1, vbFromUnicode))になるのですが、
> > この場合、
> > Len(StrConv(Text1, vbFromUnicode)) = 4
> > LenB(StrConv(Text1, vbFromUnicode)) = 8
> > になります。
> > テキストボックスに入力すると、何か違うのでしょうか。
> > すいませんが、ご返答よろしくお願いします。
>
> これは、テキストボックスでも変数に代入しても同じです。
>
> 最初の回答にも書きましたが、StrConv(Text1, vbFromUnicode) は
> VBの内部で扱っているUNICODEからSHIFT-JISへ変換するものです。
> したがって、そのバイト数を求めるLenB(StrConv(Text1, vbFromUnicode))には
> 意味がありますが、文字数を求めるLen(StrConv(Text1, vbFromUnicode))は
> StrConv(Text1, vbFromUnicode)で変換したSHIFT-JISのデータを無理矢理
> 文字としてその長さを求めるもので、はっきりいって意味がないものです。
> MsgBox StrConv(Text1, vbFromUnicode)としてみると、意味不明の文字が
> 表示されるのがわかると思います。