仕事に活用できるExcelマクロ

実践的なExcelマクロ、活用方法などを情報発信するサイト

【Excel VBA】ブックの起動時にIMEを自動的に起動させる

 Excelブックを開いた時に日本語入力ソフト(IME)を自動的に起動させるコードを紹介します。

 通常は、Excelを起動させるとIMEがOFFの状態なので 半角/全角キーを押さなければ文字入力は半角の状態になっています。

 このコードは、Excelの起動時にIMEをONの状態にしてスムーズに全角入力を行えるようにするためのものです。

f:id:Yuki_Kaze:20200316001528p:plain

 「開発」のタブを開き、VBエディター」に入ります。

 上記の画像で説明があるようにコードは「ThisWorkbook」の中に記述します。

Private Sub Workbook_Open()
'ブックの起動時にIMEを自動的に起動させる
    SendKeys "%{kanji}"
End Sub

  上記のコードが「ThisWorkbook」の中に記述するコードになります。

 Private Sub Workbook_Open() というコードは、Excelブックを起動時に自動実行させるコードに対して最初に記述されます。

 意味としては、「これから記述されるコードは、このExcelブックが開かれた時に自動実行されます」と理解するとよいと思います。

 標準モジュールのコードは、マクロをこちらから実行させる必要があり、自動実行させることはできません。

 ブックが開かれた時に自動実行させるには、「イベント処理」という形にする必要があります。

 「イベント処理」とは、ある動作に対してOS がExcel に実行させる処理であり、その場合のコードと記述する場所は、決められています。

 そのために今回の場合は「ThisWorkbook」の中にコードを記述することになります。

 SendKeys ステートメントは、キーボードのいづれかのキーを自動的に押されたことにする場合に使われます。

 SendKeys "%{kanji}" と記述すると半角/全角キーが押されたことになり、IMEがONの状態になります。

ez-info.hatenablog.com