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

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

その記録です。

下図はExcel2016です。

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

 

< スポンサーリンク >

 

設定するには「IMEMode」を使います。設定値は以下です。

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

 

プロパティで設定

IMEをオンにしてみます。

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

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

 

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

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

 

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

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

 

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

 

< スポンサーリンク >



サブコンテンツ

このページの先頭へ