Excel ユーザーフォームのテキストボックスを全角・半角入力ができるように設定-IMEMode

Excelで、ユーザーフォームを使っているときに、テキストボックスに日本語で入力させたい、全角にしたり、半角英数字を入力させたいことがあります。

それを設定するには「IMEMode」プロパティを使います。

「IMEMode」プロパティを手動とVBAでプロパティを設定する方法の記録です。

下図はExcel2016です。

< スポンサーリンク >





「IMEMode」の設定値は以下です。

fmIMEModeNoControlIMEを制御しません(規定値)
fmIMEModeOnIMEをオン
fmIMEModeOffIMEをオフ(英語モード)
fmIMEModeDisableIMEをオフ(ユーザーはキーボードでIMEをオンにできません)
fmIMEModeHiragana全角ひらがなモードでIMEをオン
fmIMEModeKatakana全角カタカナモードでIMEをオン
fmIMEModeKatakanaHalf半角カタカナモードでIMEをオン
fmIMEModeAlphaFull全角英数字モードでIMEをオン
fmIMEModeAlpha半角英数字モードでIMEをオン

 

「IMEMode」をプロパティで設定

IMEをオンにしてみます。

ユーザーフォームのテキストボックスをアクティブにし、プロパティウィンドウのボタンをクリックします。

ExcelユーザーフォームテキストボックスIME

 

プロパティウィンドウの「IMEMode」欄に「fmIMEModeOn」を設定します。

ExcelユーザーフォームテキストボックスIME

 

ユーザーフォームを実行すると、テキストボックスがアクティブになると、IMEがオンになりました。

ExcelユーザーフォームテキストボックスIME

 

「IMEMode」をVBAで設定

VBAで設定するには、Initializeイベントを使います。

ユーザーフォームをダブルクリックします。

ExcelユーザーフォームテキストボックスIME

 

右側のプロシージャボックスで「Initialize」を選択します。

ExcelユーザーフォームテキストボックスIME

 

テキストボックスのIMEModeプロパティでIMEをオフにするよう、下記のように書きます。

Private Sub UserForm_Initialize()
    TextBox1.IMEMode = fmIMEModeOff
    TextBox2.IMEMode = fmIMEModeOff
    TextBox3.IMEMode = fmIMEModeOff
End Sub

ExcelユーザーフォームテキストボックスIME

 

ユーザーフォームを実行すると、テキストボックスがアクティブになると、IMEがオフになりました。

ExcelユーザーフォームテキストボックスIME

 

< スポンサーリンク >※広告先のお問い合わせは広告主様にお願いします