[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/04/15(Fri) 10:07
投稿者名:NAO
Eメール:
URL :
タイトル:
全角文字を入力不可にしたい
みなさんこんにちは
ご指摘があったように、他を調査してからここに記述しました。
タイトルの通りですが、あるテキストボックスに
全角文字は、入力不可にしたいのです。
IMEStatusとは違う気がしました。
このような制御は可能でしょうか。

また、WL_AAA.Text = StrConv(WL_AAA.Text, vbNarrow)で、CHANGE、
KeyPressでしても無反応でした。

すいませんが、どなたは教えて下さい。

投稿時間:2005/04/15(Fri) 13:37
投稿者名:ぶぶ
Eメール:
URL :
タイトル:
Re: 全角文字を入力不可にしたい
入力された値が半角か全角か区別するのがわからないのですか?
それとも入力を取り消すのがわからないのでしょうか?

投稿時間:2005/04/15(Fri) 13:58
投稿者名:NAO
Eメール:
URL :
タイトル:
Re^2: 全角文字を入力不可にしたい
返信ありがとうございます。
イメージでいいますと、全角入力をしようと
した場合、その文字がテキストボックスに表示されないように
したいのです。

例えば、"ああああ"を入れようとして、Enterキーを押すと
テキストボックスには、何も表示されていないようにしたいのです。
ただし、"ああああ"を変換して、"アアアア"は表示されてもOKです。

分かりますでしょうか。




> 入力された値が半角か全角か区別するのがわからないのですか?
> それとも入力を取り消すのがわからないのでしょうか?

投稿時間:2005/04/15(Fri) 14:03
投稿者名:ぶぶ
Eメール:
URL :
タイトル:
Re^3: 全角文字を入力不可にしたい
> イメージでいいますと、全角入力をしようと
> した場合、その文字がテキストボックスに表示されないように
> したいのです。
たとえば、Keypressイベントだと入力値をキャンセルするには
keyascii に0をいれれば入力値がキャンセルされるので何もでてこなくなりますが・・・

ちょっとわからないのは
> 例えば、"ああああ"を入れようとして、Enterキーを押すと
> テキストボックスには、何も表示されていないようにしたいのです。
> ただし、"ああああ"を変換して、"アアアア"は表示されてもOKです。
"アアアア"も全角文字ですよ?

投稿時間:2005/04/15(Fri) 14:10
投稿者名:NAO
Eメール:
URL :
タイトル:
Re^4: 全角文字を入力不可にしたい
> "アアアア"も全角文字ですよ?

"あああああ"(全角) から "アアアアアア"(半角)です。
"アアアアア"は全角。

keyascii を試します。

投稿時間:2005/04/15(Fri) 17:41
投稿者名:NAO
Eメール:
URL :
タイトル:
ありがとうございます。
これで、うまくできました。
ありがとうございます。

       If LenWid(Chr$(KeyAscii)) = 2 _
        Or Chr$(KeyAscii) = Space$(1) Then
           KeyAscii = 0
           Exit Sub
        End If

投稿時間:2005/04/15(Fri) 13:43
投稿者名:もげ
Eメール:
URL :
タイトル:
Re: 全角文字を入力不可にしたい

> また、WL_AAA.Text = StrConv(WL_AAA.Text, vbNarrow)で、CHANGE、
> KeyPressでしても無反応でした。

ブレークポイントを設定してステップ実行したり、
ヘルプで、StrConvについて調べたり、
イミディエイトウィンドウ上で、
?StrConv("AAAあああ",vbNarrow)
AAAあああ

などを検証してみれば原因がわかると思います。

この辺をざっと確認してみてください。
hhttp://homepage1.nifty.com/rucio/main/technique/InputChk2.htm
hhttp://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_t20.htm
コピペでは用が足りないかも知れないですが、ヒントにはなると思いますよ。