日本語入力(IME)をオンにしてInputBoxを開くMyRecord業務の効率化に役立つ情報を発信します。日本語入力(IME)をオンにしてInputBoxを開くVBAサンプルコード集(解説付き)スポンサーリンクIMEをオンにしてInputBoxを開く方法InputBox関数を使用すると、ユーザーからデータを文字列として受け取れます。名前などの日本語のデータを受け取るときに、日本語変換ソフト(IME)を自動でオンの状態になると切り替えの手間がなく、ユーザーに親切な設計になります。InputBox関数には、IMEを制御する機能はありません。そこで、新しいブックを開き、アクティブセルに「IMEを自動でオンにする」という「入力規則」を設定します。設定段階でIMEがオンになるので、そのあとにInputBoxを開くことで、切り替えることなく日本語が入力できます。新たに開いたブックはInputBoxの入力が終了して確定した時点で保存しないで閉じます。InputBox("名前を入力してください。この項目はキャンセルできません。】InputBox【インプットボックス】関数から受け取ったデータを格納する変数「名前」を文字列型(String)で宣言です。】InputBox【インプットボックス】関数から受け取ったデータが格納されている変数「名前」のデータが空の場合、つまり、InputBox【インプットボックス】に値が未入力もしくは、キャンセルボタンが押された場合に16行目のGoTo【ゴウトゥ】ステートメントで処理が戻る位置を表す「戻る:」ラベルです。】IMEオンの入力規則を設定するブックをWorkbook【ワークブック】オブジェクトのAdd【アド】メソッドで追加して、With【ウィズ】ステートメントで指定します。】4行目で追加したブックはアクティブブックになっているので、追加したブックのシートのセルにValidation【バリデーション】プロパティを使用して入力規則を表すValidation【バリティーション】オブジェクトを呼び出し、With【ウィズ】ステートメントで指定します。】With【ウィス】ステートメントで指定したValidation【バリディーション】オブジェクトのAdd【アド】メソッドを使用してアクティブセルに入力規則を追加します。Add【アド】メソッドの入力規則の種類を表す引数Type【タイプ】には「すべての値」を表すxlValidateInputOnly【インプットオンリー】を設定します。】With【ウィズ】ステートメントで指定したValidation【バリデーション】オブジェクトのIMEMode【アイエムイーモード】プロパティを使用して日本語モードをオンにします。InputBox(“名前を入力してください。】InputBox【インプットボックス】関数を使用してユーザーからデータを受け取り、変数「名前」に代入します。】4行目のWith【ウィズ】ステートメントで指定した、追加したブックをWorkbook【ワークブック】オブジェクトのClose【クローズ】メソッドを使用して、ブックの変更を保存するかしないかを設定する引数SaveChanges【セーブチャンジズ】にFalseを設定してブックを保存しないで閉じます。】If【イフ】ステートメントを使用して変数「名前」に格納されている値が空ではないときを定義します。条件分岐の条件が成立したとき、つまり変数「名前」の値が空ではないときMsgBox【メソッセージボックス】関数で変数「名前」に格納されている値を表示します。】Else【エルズ】ステートメントを使用して条件が成立しない場合、つまり変数「名前」に格納された値が長さ0文字の文字列(空)の場合に以下15行目の処理を実行します。この項目はキャンセルできません。変数「名前」の値が空だった場合、MsgBoX【メッセージボックス】関数でメッセージを表示します。変数「名前」の値が空だった場合、GoTo【ゴウトゥ】ステートメントで3行目の(戻る:】ラベルまで処理を戻します。以上で、IMEをオンにしてInputBoxを開く方法についての解説を終了します。ありがとうございました。