Home » エクセルマクロ・Excel VBAの使い方 » インプットボックスでIME・日本語入力をオンにするVBAコード

インプットボックスでIME・日本語入力をオンにするVBAコード

対象:Excel2003, Excel2007, Excel2010

VBA(Visual Basic for Applications)でマクロを作成する場合、本格的なダイアログを作成するにはフォームモジュールを利用します。

しかし、ユーザーに凝った入力をしてもらう必要がなければ、InputBox関数でも十分です。

その、InputBox関数を利用して、インプットボックスを表示する場合、IME・日本語入力のオン・オフを制御したいということもあります。

[スポンサードリンク]

そんなコードをご紹介しておきます。

▼IMEがオフのときにオンにするコード

If IMEStatus = vbIMEModeOff Then SendKeys "{kanji}"

例えば、
 If IMEStatus = vbIMEModeOff Then SendKeys "{kanji}"
 tmp = InputBox("お名前を入力してください。")
というコードを実行すると、
「お名前を入力してください。」
と表示されたインプットボックスが、日本語入力がオンの状態でインプットボックスが表示されます。

SendKeysステートメントで「"{kanji}"」を引数に指定すると、キーボードで[半角/全角]キーが押されたのと同じ動きとなります。

但し、IMEがオンのときに「SendKeys "{kanji}"」するとオンだったIMEがオフになってしまうので、まず、IMEStatusを調べて、「vbIMEModeOff」のときに「SendKeys "{kanji}"」しています。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » インプットボックスでIME・日本語入力をオンにするVBAコード

「エクセルマクロ・Excel VBAの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.