テキストボックスでは、"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
|