教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA フォーム&コントロール】テキストボックスの入力モードを設定する方法を教えて!

構文

構文は以下の通りです。

テキストボックス名.IMEMode = 値

解説

テキストボックス名には、IMEModeを設定したいテキストボックスの名称を指定します。この名称は、フォーム上のテキストボックスの名前です。例えば、"TextBox1" のような名前が該当します。IMEModeは、テキストボックスオブジェクトのプロパティであり、IMEModeを制御します。値には、IMEModeプロパティに設定する値を指定します。設定可能な値を以下で紹介します。

定数 内容
fmIMEModeNoControl 0 IMEを制御しない
fmIMEModeOn 1 IMEをオンにする
fmIMEModeOff 2 IMEをオフにする(英語モード)
fmIMEModeDisable 3 IMEをオフにする(キーボードでIMEをオンにできない)
fmIMEModeHiragana 4 全角ひらがなモードでIMEをオンにする
fmIMEModeKatakana 5 全角カタカナモードでIMEをオンにする
fmIMEModeKatakanaHalf 6 半角カタカナモードでIMEをオンにする
fmIMEModeAlphaFull 7 全角英数字モードでIMEをオンにする
fmIMEModeAlpha 8 半角英数字モードでIMEをオンにする
fmIMEModeHangulFull 9 全角ハングルモードでIMEをオンにする
fmIMEModeHangul 10 半角ハングルモードでIMEをオンにする

 

使い方

具体的な使い方を紹介します。

Private Sub SetIMEModeToHiragana()
    TextBox1.IMEMode = 1 ' テキストボックス名を適切に変更してください
End Sub

このコードでは、TextBox1 という名前のテキストボックスのIMEModeをIMEオン
入力モードに設定しています。

プログラミング例

以下に、プログラミング例を幾つか紹介します。

1. IMEオン入力モードに設定する例

Private Sub SetIMEModeToHiragana()
    TextBox1.IMEMode = 1 ' IMEオン入力モードに設定
End Sub

2. IMEオフ入力モードに設定する例

Private Sub SetIMEModeToKatakana()
    TextBox2.IMEMode = 2 ' IMEオフ入力モードに設定
End Sub

3. 全角ひらがな入力モードに設定する例

Private Sub SetIMEModeToFullWidthAlphabet()
    TextBox3.IMEMode = 4 ' 全角ひらがな入力モードに設定
End Sub

4. 全角カタカナ入力モードに設定する例

Private Sub SetIMEModeToHalfWidthAlphabet()
    TextBox4.IMEMode = 5 ' 全角カタカナ入力モードに設定
End Sub

これらの例では、それぞれのテキストボックスに対して異なるIMEModeを設定しています。適切なテキストボックス名を使用し、必要なモードに設定することで、テキストボックス内での文字入力方法を細かく制御することができます。

まとめ

IMEModeプロパティを適切に活用することで、フォームのユーザビリティを向上させ、文字入力の制御を行うことができます。是非活用してください。