#279 状況に応じてテキストボックスのIMEモードを切り替える方法 フォーム、VBA

テキストボックスでは、"IME入力モード"プロパティを設定しておくことによって、既定のIME入力モードを設定することができます。通常、テキストボックスはフィールドと連結していることが多いので、「フリガナ」欄であれば"全角カタカナ"というように、それを途中で切り替える必要性はあまりないかもしれません。

しかし、InputBox風のフォームなどで、さまざまな種類のデータ入力が考えられるようなケースでは、データに応じてIME入力モードを切り替えるようにしておくと、操作性がよくなります。

次の例では、フォーム「frmInputBox」を開く際に、OpenArgsにその値を設定することによって、テキストボックス"txtInputData"のIME入力モードを切り替えます。


フォーム「frmInputBox」の"Load/読み込み時"イベントプロシージャ
Private Sub Form_Load()
'フォーム読み込み時

  If Not IsNull(Me.OpenArgs) Then
    'OpenArgsが指定されていたらそれをIME入力モードに設定
    Me!txtInputData.IMEMode = Me.OpenArgs
  End If

End Sub

  • "オフ"で開いた場合
    DoCmd.OpenForm "frmInputBox", , , , , , vbIMEModeOff
    オフで開いた場合

  • "使用不可"で開いた場合
    DoCmd.OpenForm "frmInputBox", , , , , , vbIMEModeDisable
    使用不可で開いた場合

  • "全角ひらがな"で開いた場合
    DoCmd.OpenForm "frmInputBox", , , , , , vbIMEModeHiragana
    全角ひらがなで開いた場合

  • "全角カタカナ"で開いた場合
    DoCmd.OpenForm "frmInputBox", , , , , , vbIMEModeKatakana
    全角カタカナで開いた場合

  • "全角英数"で開いた場合
    DoCmd.OpenForm "frmInputBox", , , , , , vbIMEModeAlphaFull
    全角英数で開いた場合
| Index | Prev | Next |

この情報は参考になりましたか?、問題は解決しましたか?、もしまだなら......
T'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。
スタンドアロンからSQL Server対応まで、オーダーメイドのシステムを短納期・安価でお届けします
 

Copyright © T'sWare All rights reserved