プロが教える店舗&オフィスのセキュリティ対策術

仕事上、必要な為に攻略本などを片手にVisual Basic Editorを我流でプログラミングしている全くの素人です。
現在はVisual Basic Editorにフォームを挿入しテキストボックスを作成して、テキストボックスに入力した文字をSheet上の指定のセルに表示するようなプログラミングをしています。
しかし、ローマ字入力の場合は全く問題ないのですが、かな入力の場合( )カッコなど英数キーを一度押下しなければ入力できない文字については、テキストボックスのIMEコード設定をカナ入力の6番に設定している為、入力する事ができません。
1.テンキーの"/"、"*"キーに"("、" )"を割り当ててしのいでいます。一文字入力するごとに文字コードをASC関数で調査し"/"、"*"キーに該当する場合は「"それ以前に入力していた文字"+"("」を入力するプログラムにしています。しかし、この場合マウスでカーソルをインサートさせて途中入力した場合、カッコ以外の文字が入力される為完全とは言えません。また、カッコのみを入力するように指定すると、それまでテキストボックスに入力していた文字が消去されカッコのみが入力されてしまいます。良いプログラミングがありましたら、ご教授願います。

2.上記で英数キーを押下するとIMEコードが変換されるようにするのが良い方法だと思うのですがヘルプで検索してもASCIIコードが分からないので断念しました。キャリッジリターンは「13」NumLockは「144」までは分かったのですが文字キー以外のASCIIコードが掲載されている書物や方法がありましたら教えて下さい。宜しくお願い致します。

A 回答 (2件)

1.かな入力の場合( )カッコなど英数キー



私は、IMEのキーを改変しているので、デフォルトが分からないのですが、かな入力の場合は、CapsLock/英数 で英数に切り替わるので、そんなに問題はないと思います。もし、ならないのでしたら、IMEのプロパティの設定で、替えればよいです。

また、私自身は、カタカナ/ひらがな キーで、入力中の文字を、英数に変換できるようにしています。もちろん、標準的に「ゅ」は、[変換]→「(」に変換します。

>1.テンキーの"/"、"*"キーに"("、" )"を割り当ててしのいでいます。
そういうツールもあるようですね。

http://www.forest.impress.co.jp/lib/sys/hardcust …

  Change Key v1.30 (03/01/13)
  非常駐型でフリーのキー配置変更ソフト

>カッコのみを入力するように指定すると、それまでテキストボックスに入力していた文字が消去されカッコのみが入力されてしまいます。

これは、コードを見てみないと分かりません。

2. 文字キー以外のASCIIコード
Office でしたら、
Private Sub TextBox1_KeyDown(ByVal KeyCode _
   As MSForms.ReturnInteger, ByVal Shift As Integer)
 MsgBox KeyCode
End Sub

VBでしたら、
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
 MsgBox KeyCode
End Sub
    • good
    • 0
この回答へのお礼

「非常駐型でフリーのキー配置変更ソフト」というものがあるのを初めて知りました。勉強になります。有難うございました。

お礼日時:2005/07/10 13:05
    • good
    • 0
この回答へのお礼

いきなりURLばかりの文書だったので、驚いてしまいましたが成る程、参考にさせてもらいます。有難うございました。

お礼日時:2005/07/10 13:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!