• ベストアンサー

全角データの存在判定

いつもお世話になります。 さて標記の件、データの中に全角文字が入っているかどうかの判定をしたいと思っています。 過去の質問からクエリでLen(文字列)<>LanB(文字列)を作ってみたんですが、半角文字しかないのにLanBに倍の数字が入ります。 office2000だからだと思いますが何か方法が在りませんでしょうか。 WinXP Office2000PROを使用しています。 以上、宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.2

おはようございます。 >"あア"(全角、半角) →"あア" では無いでしょうか。 以下は全角2文字ですので、結果はその通りです。 Len("あア") → 2 LenB("あア") → 4 Len(StrConv("あア",64)) → 4 '→ これは vbUnicode です LenB(StrConv("あア",64)) → 8 '→ これは vbUnicode です >LenB(StrConv("あア",64)) → 8 → LenB(StrConv("あア", vbFromUnicode)) ですので → LenB(StrConv("あア",128)) → 3 になります。 再度確認してみてくださいね。

datasraimu
質問者

お礼

できました!!! ありがとうございました。

その他の回答 (1)

  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.1

こんにちは。 表記の間違いだと思います。 Len(文字列)<>LanB(文字列) ↓ Len(文字列)<>LenB(StrConv(文字列, vbFromUnicode))

datasraimu
質問者

補足

回答ありがとうございます。 上記内容でも無理でした。 内容記述しますのでフォロー願えますでしょうか。 文字列を例えば"あア"(全角、半角)として Lenで2、LanBで3の情報がほしいです。 Len("あア") → 2 LenB("あア") → 4 Len(StrConv("あア",64)) → 4 LenB(StrConv("あア",64)) → 8 特に最後がまったく理解できません。 すみませんがよろしくお願いいたします。

関連するQ&A