即効テクニック |
フォーム上のテキストボックスでの入力文字はIMEmodeプロパティーをプロパティーウィンドウまたはコードから設定することによりある程度可能ですが、それに対応できない場合などはキープレスイベントで受け取ったアスキーコードを判断して文字変換後、値をテキストボックスに表示するという処理を行います。 ここでは、IMEモードを直接入力モードにした際、半角大文字にそろえるケースを考えます。下記に提示したサンプルでは、受け取ったキーコードをCAPS LOCKの状態に関係なく、大文字に変換します。 サンプルの実行にはテキストボックスのKeyPressイベントに下記コードを記述し、テキスト入力してみてください。
'-----テキストボックスのキープレスイベント---- Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) Select Case KeyAscii Case Asc("a") To Asc("z") 'Asc関数で指定文字を変換して分岐処理 '半角小文字が入力された場合にはStrconv関数で大文字に変換 KeyAscii = Asc(StrConv(Chr(KeyAscii), vbUpperCase)) Case Else '半角小文字以外は何もしない End Select End Sub