便利じゃなければプログラムじゃ無い!
仕事が楽になって業務効率がUPするシステムを提供!

エクセルでIMEの入力モードをコントロールする

2012/9/7 (金) • Excel, VBA

Excelを使っているとセルによって「半角」や「ひらがな」などIMEの入力モードを切り替えるのが面倒な場合がありますよね。
そんな時はValidationオブジェクト(入力規則)を使ってIMEモードをコントロールする事で、Accessのフォームのように入力モードを自動で切り替える事が出来ます。

IMEモードをコントロールする

今回は以下の事例のように列全体に入力規則を設定します。

ExcelのIMEモードをコントロールする

A列:IMEモード「無効」
B列:IMEモード「ひらがな」
C列:IMEモード「ひらがな」
D列:IMEモード「無効」

Validationオブジェクトを使ったVBAサンプル

Private Sub Workbook_Open()

'列AのIMEモードを「無効」にする。
    Columns("A").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateInputOnly
        .IMEMode = xlIMEModeDisable
    End With

'列BのIMEモードを「ひらがな」にする。
    Columns("B").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateInputOnly
        .IMEMode = xlIMEModeHiragana
    End With

'列CのIMEモードを「ひらがな」にする。
    Columns("C").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateInputOnly
        .IMEMode = xlIMEModeHiragana
    End With

'列DのIMEモードを「無効」にする。
    Columns("D").Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateInputOnly
        .IMEMode = xlIMEModeDisable
    End With

    Range("A2").Select

End Sub

VBAコードの解説

サンプルコードではIMEモードを指定する列(Columns)をselectし、Validationオブジェクトを参照し、いったん入力規則を削除(Delete)した後にAddメソッドで入力規制を設定します。
更にIMEModeプロパティで日本語の入力規則の内容を設定します。
使用できる定数は以下の通りです。

メンバ名説明
xlIMEModeAlpha半角英数字
xlIMEModeAlphaFull全角英数字
xlIMEModeDisable無効
xlIMEModeHiraganaひらがな
xlIMEModeKatakanaカタカナ
xlIMEModeKatakanaHalf半角カタカナ
xlIMEModeNoControlコントロールなし
xlIMEModeOffオフ (英語モード)
xlIMEModeOnオン (日本語モード)

Validationオブジェクトには上記以外にも多くのプロパティがあり細かく設定が可能ですが今回はIMEModeプロパティについて説明させていただきました。

重複関連エントリー

以上、今回はExcelでIMEモードをコントロールする方法について説明しました。

今回のサンプルファイルは以下のリンクからダウンロード可能です。

タグ
, , , , ,

Comments are closed.