[リストへもどる]
一括表示

投稿時間:2003/12/12(Fri) 15:41
投稿者名:孤軍奮闘
URL :
タイトル:
テキストボックス中に漢字が入力されないようにしたい
テキストボックスの中に漢字が入力できないようにしたい、もしくは漢字が含まれているか判断
したいのですが、実際に可能でしょうか? 
テキストボックスに入力したいのは、半角英数、半角カナのみとしたいのですが・・・

投稿時間:2003/12/12(Fri) 16:03
投稿者名:nanashi
Eメール:
URL :
タイトル:
Re: テキストボックス中に漢字が入力されないようにしたい
> テキストボックスに入力したいのは、半角英数、半角カナのみとしたいのですが・・・

2Byte文字が入っているかどうかを調べれば良いと思います。

    If Len(Text1.Text) = LenB(StrConv(Text1.Text, vbFromUnicode)) Then
        Debug.Print "1Byte文字のみ"
    Else
        Debug.Print "2Byte文字が含まれてます"
    End If

入力時に制限するならChangeイベントで入力された2Byte文字を消していくようにすれば出来ます。

投稿時間:2003/12/12(Fri) 16:09
投稿者名:孤軍奮闘
URL :
タイトル:
Re^2: テキストボックス中に漢字が入力されないようにしたい
> > テキストボックスに入力したいのは、半角英数、半角カナのみとしたいのですが・・・
>
> 2Byte文字が入っているかどうかを調べれば良いと思います。
>
>     If Len(Text1.Text) = LenB(StrConv(Text1.Text, vbFromUnicode)) Then
>         Debug.Print "1Byte文字のみ"
>     Else
>         Debug.Print "2Byte文字が含まれてます"
>     End If
>
> 入力時に制限するならChangeイベントで入力された2Byte文字を消していくようにすれば出来ます。

ありがとうございます。やってみます。

投稿時間:2003/12/15(Mon) 10:54
投稿者名:ak
Eメール:
URL :
タイトル:
Re: テキストボックス中に漢字が入力されないようにしたい
> テキストボックスの中に漢字が入力できないようにしたい、もしくは漢字が含まれているか判断
> したいのですが、実際に可能でしょうか? 
> テキストボックスに入力したいのは、半角英数、半角カナのみとしたいのですが・・・

テキストボックスのKeyPressイベントで入力制御すれば良いと思います。
サンプルを記述しておきます。

Private Sub Text1_KeyPress(KeyAscii As Integer)
    'コード番号についてはVBのヘルプの『ASCII 文字セット』を参照してください。
    If KeyAscii > 255 Or KeyAscii < 0 Then
        KeyAscii = 0
    End If
End Sub

補足
 ショートカットキー(Ctrl+Cなど)やDeleteキーなどkeyPressイベントで
拾えないコードはKeyDownイベントで制御できます。

投稿時間:2003/12/15(Mon) 16:18
投稿者名:孤軍奮闘
URL :
タイトル:
Re^2: テキストボックス中に漢字が入力されないようにしたい
> > テキストボックスの中に漢字が入力できないようにしたい、もしくは漢字が含まれているか判断
> > したいのですが、実際に可能でしょうか? 
> > テキストボックスに入力したいのは、半角英数、半角カナのみとしたいのですが・・・
>
> テキストボックスのKeyPressイベントで入力制御すれば良いと思います。
> サンプルを記述しておきます。
>
> Private Sub Text1_KeyPress(KeyAscii As Integer)
>     'コード番号についてはVBのヘルプの『ASCII 文字セット』を参照してください。
>     If KeyAscii > 255 Or KeyAscii < 0 Then
>         KeyAscii = 0
>     End If
> End Sub
>
> 補足
>  ショートカットキー(Ctrl+Cなど)やDeleteキーなどkeyPressイベントで
> 拾えないコードはKeyDownイベントで制御できます。
入力時の制限という観点からは一番シンプルなコーディングができました。
ありがとうございます

投稿時間:2003/12/17(Wed) 11:47
投稿者名:にせ
Eメール:
URL :
タイトル:
Re^3: テキストボックス中に漢字が入力されないようにしたい
> > > テキストボックスの中に漢字が入力できないようにしたい、もしくは漢字が含まれているか判断
> > > したいのですが、実際に可能でしょうか? 
> > > テキストボックスに入力したいのは、半角英数、半角カナのみとしたいのですが・・・

IMEModeに3をセットするってのはダメですか…?(自信なし)

投稿時間:2003/12/17(Wed) 11:59
投稿者名:ak
Eメール:
URL :
タイトル:
Re^4: テキストボックス中に漢字が入力されないようにしたい
> > テキストボックスの中に漢字が入力できないようにしたい、もしくは漢字が含まれているか判断
> > したいのですが、実際に可能でしょうか? 
> > テキストボックスに入力したいのは、半角英数、半角カナのみとしたいのですが・・・

> IMEModeに3をセットするってのはダメですか…?(自信なし)

IMEModeを3(オフ固定)にすると半角カナが入力できなくなってしましますよ。

言い忘れていましたが、入力制御を行う場合コピー&ペーストされた場合の事も
考慮してChangeイベントでも制御する必要があります。

投稿時間:2003/12/17(Wed) 12:35
投稿者名:孤軍奮闘
URL :
タイトル:
Re^5: テキストボックス中に漢字が入力されないようにしたい
> > > テキストボックスの中に漢字が入力できないようにしたい、もしくは漢字が含まれているか判断
> > > したいのですが、実際に可能でしょうか? 
> > > テキストボックスに入力したいのは、半角英数、半角カナのみとしたいのですが・・・
>
> > IMEModeに3をセットするってのはダメですか…?(自信なし)
>
> IMEModeを3(オフ固定)にすると半角カナが入力できなくなってしましますよ。
>
> 言い忘れていましたが、入力制御を行う場合コピー&ペーストされた場合の事も
> 考慮してChangeイベントでも制御する必要があります。
IMEのお話が出てきたので、またまた疑問が出てきたのですが・・・
とあるテキストボックスに半角カナのみ入力させてい場合があります。
もちろんチェックとしては、前回教えてい頂いた応用で実現しましたが
ACCESSの機能(最近はACCESSに触れていなので、勘違いかも・・・)にある
半角カナで無変換(or 固定)にできればユーザーにとってもっと便利になると思うのですが。無理?

投稿時間:2003/12/17(Wed) 12:49
投稿者名:ak
Eメール:
URL :
タイトル:
Re^6: テキストボックス中に漢字が入力されないようにしたい
> IMEのお話が出てきたので、またまた疑問が出てきたのですが・・・
> とあるテキストボックスに半角カナのみ入力させてい場合があります。
> もちろんチェックとしては、前回教えてい頂いた応用で実現しましたが
> ACCESSの機能(最近はACCESSに触れていなので、勘違いかも・・・)にある
> 半角カナで無変換(or 固定)にできればユーザーにとってもっと便利になると思うのですが。無理?

アクセスはあんまりやったことがなかったので試してみたのですが
残念ながらなんなくコピ&ペーストで半角カナ以外の文字も入力さ
れてしまいました。

やはり完璧な制御を行うにはChangeイベントでチェックするかデータ
更新時にチェックをかけるしかなさそうです。

私はChangeイベントで処理する方をお勧めします。

例えば100個入力項目があってすべて項目で文字のエラーがあった場合
更新時に100回エラーがでるってことですからね。それってすごくうっ
とうしくないですか?

というわけで入力文字に制限がある場合は入力されている間に全てチェ
ックした方が良いかと思います。

投稿時間:2003/12/17(Wed) 13:09
投稿者名:孤軍奮闘
URL :
タイトル:
Re^7: テキストボックス中に漢字が入力されないようにしたい
> > IMEのお話が出てきたので、またまた疑問が出てきたのですが・・・
> > とあるテキストボックスに半角カナのみ入力させてい場合があります。
> > もちろんチェックとしては、前回教えてい頂いた応用で実現しましたが
> > ACCESSの機能(最近はACCESSに触れていなので、勘違いかも・・・)にある
> > 半角カナで無変換(or 固定)にできればユーザーにとってもっと便利になると思うのですが。無理?
>
> アクセスはあんまりやったことがなかったので試してみたのですが
> 残念ながらなんなくコピ&ペーストで半角カナ以外の文字も入力さ
> れてしまいました。
>
> やはり完璧な制御を行うにはChangeイベントでチェックするかデータ
> 更新時にチェックをかけるしかなさそうです。
>
> 私はChangeイベントで処理する方をお勧めします。
>
> 例えば100個入力項目があってすべて項目で文字のエラーがあった場合
> 更新時に100回エラーがでるってことですからね。それってすごくうっ
> とうしくないですか?
>
> というわけで入力文字に制限がある場合は入力されている間に全てチェ
> ックした方が良いかと思います。

そうですね〜。私も自分で考えながら質問させて頂いたのですが、
なんとなく想像ができました・・・
こういう時に英語圏っていいなぁ〜っと感じてしまいます。
ちなみに私は英語がまったくダメですが

投稿時間:2003/12/17(Wed) 16:16
投稿者名:にせ
Eメール:
URL :
タイトル:
Re^5: テキストボックス中に漢字が入力されないようにしたい
> > > テキストボックスの中に漢字が入力できないようにしたい、もしくは漢字が含まれているか判断
> > > したいのですが、実際に可能でしょうか? 
> > > テキストボックスに入力したいのは、半角英数、半角カナのみとしたいのですが・・・
>
> > IMEModeに3をセットするってのはダメですか…?(自信なし)
>
> IMEModeを3(オフ固定)にすると半角カナが入力できなくなってしましますよ。
>
> 言い忘れていましたが、入力制御を行う場合コピー&ペーストされた場合の事も
> 考慮してChangeイベントでも制御する必要があります。

うっかりしてました。半角カナの入力が出来なくなりますね…。