OfficeType

VBA~ユーザーフォームのテキストボックスに入力方法を設定しよう~Excel

ユーザーフォームのテキストボックスに入力方法を設定したい時は、IMEModeプロパティで設定できます。

入力方法の設定値は以下の通りになります。

名前説明
fmIMEModeNoControl0IMEを制御しません(既定値)。
fmIMEModeOn1IMEをオンにします。
fmIMEModeOff2IMEをオフにします。英語モード。
fmIMEModeDisable3IMEをオフにします。ユーザーはキーボードで IMEをオンにできません。
fmIMEModeHiragana4全角ひらがなモードでIMEをオンにします。
fmIMEModeKatakana5全角カタカナモードでIMEをオンにします。
fmIMEModeKatakanaHalf6半角カタカナモードでIMEをオンにします。
fmIMEModeAlphaFull7全角英数字モードでIMEをオンにします。
fmIMEModeAlpha8半角英数字モードでIMEをオンにします。

書き方

オブジェクト名.IMEMode = 設定値

オブジェクト名はユーザーフォームのオブジェクト名と、テキストボックスのオブジェクト名を指定します。オブジェクト名の確認方法は作成したユーザーフォームファイルをクリックするとユーザーフォームが表示されます。ユーザーフォーム全体を選択するとプロパティウィンドウにオブジェクト名という項目があるので、それがユーザーフォームのオブジェクト名になります。次にテキストボックスを選択すると同じようにテキストボックスのオブジェクト名が確認できます。プロパティウィンドウが表示されていない場合はメニューの表示からプロパティウィンドウをクリックすると表示されます。

UserForm1というユーザーフォームを作成し、TextBox1というテキストボックスを設定した場合、下のコードを実行すると全角ひらがなモードでIMEがオンになります。

Sub test1()

Load UserForm1
UserForm1.TextBox1.IMEMode = fmIMEModeHiragana
UserForm1.Show

End Sub

プロパティウィンドウで設定

作成したユーザーフォームのファイルをクリックしプロパティウィンドウの選択欄からテキストボックスを選択します。プロパティウィンドウにIMEModeの項目があるので、クリックすると▼マークが表示されるのでクリックします。設定したいIMEモードを選択してください。プロパティウィンドウが表示されていない場合はメニューの表示からプロパティウィンドウをクリックすると表示されます。

image-01

image-02

image-03

image-04