InputBox関数を使用すると、ユーザーからデータを文字列として受け取れます。名前などの日本語のデータを受け取るときに、日本語変換ソフト(IME)を自動でオンの状態になると切り替えの手間がなく、ユーザーに親切な設計になります。しかし、InputBox関数には、IMEを制御する機能はありません。, そこで、新しいブックを開き、アクティブセルに「IMEを自動でオンにする」という「入力規則」を設定します。, 設定段階でIMEがオンになるので、そのあとにInputBoxを開くことで、切り替えることなく日本語が入力できます。新たに開いたブックはInputBoxの入力が終了して確定した時点で保存しないで閉じます。, InputBox【インプットボックス】関数から受け取ったデータが格納されている変数「名前」のデータが空の場合、つまり、InputBox【インプットボックス】に値が未入力もしくは、キャンセルボタンが押された場合に16行目のGoTo【ゴウトゥ】ステートメントで処理が戻る位置を表す「戻る:」ラベルです。, 4行目【 With Workbooks.Add 】 IMEオンの入力規則を設定するブックをWorkbook【ワークブック】オブジェクトのAdd【アド】メソッドで追加して、With【ウィズ】ステートメントで指定します。, 4行目で追加したブックはアクティブブックになっているので、追加したブックのシートのセルにValidation【バリデーション】プロパティを使用して入力規則を表すValidation【バリティーション】オブジェクトを呼び出し、With【ウィズ】ステートメントで指定します。, 6行目【 .Add Type:=xlValidateInputOnly 】 With【ウィス】ステートメントで指定したValidation【バリディーション】オブジェクトのAdd【アド】メソッドを使用してアクティブセルに入力規則を追加します。Add【アド】メソッドの入力規則の種類を表す引数Type【タイプ】には「すべての値」を表すxlValidateInputOnly【インプットオンリー】を設定します。, 7行目【 .IMEMode = xlIMEModeOn 】 With【ウィズ】ステートメントで指定したValidation【バリデーション】オブジェクトのIMEMode【アイエムイーモード】プロパティを使用して日本語モードをオンにします。, 9行目【 名前 = InputBox(“名前を入力してください。”) 】 InputBox【インプットボックス】関数を使用してユーザーからデータを受け取り、変数「名前」に代入します。, 10行目【 .Close SaveChanges:=False 】 4行目のWith【ウィズ】ステートメントで指定した、追加したブックをWorkbook【ワークブック】オブジェクトのClose【クローズ】メソッドを使用して、ブックの変更を保存するかしないかを設定する引数SaveChanges【セーブチャンジズ】にFalseを設定してブックを保存しないで閉じます。, 12行目【 If 名前 <> “” Then 】 If【イフ】ステートメントを使用して変数「名前」に格納されている値が空ではないときを定義します。, 13行目【 MsgBox 名前 】 条件分岐の条件が成立したとき、つまり変数「名前」の値が空ではないときMsgBox【メソッセージボックス】関数で変数「名前」に格納されている値を表示します。, Else【エルズ】ステートメントを使用して条件が成立しない場合、つまり変数「名前」に格納された値が長さ0文字の文字列(空)の場合に以下15行目の処理を実行します。, 15行目【 MsgBox “名前が未入力です。この項目はキャンセルできません。” 】 変数「名前」の値が空だった場合、MsgBoX【メッセージボックス】関数でメッセージを表示します。, 16行目【 GoTo 戻る 】 変数「名前」の値が空だった場合、GoTo【ゴウトゥ】ステートメントで3行目の(戻る:】ラベルまで処理を戻します。, 以上で、IMEをオンにしてInputBoxを開く方法についての解説を終了します。 ありがとうございました。, 15行目【 MsgBox “名前が未入力です。この項目はキャンセルできません。” 】. IMEMode プロパティ (Excel) Validation.IMEMode property (Excel) 05/18/2019; この記事の内容. 入力モードを設定するには「IMEMode」プロパティを使います。 object. Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? 次の表に示す**Xlimemode** 定数のいずれかをすることができます。Can be one of the XlIMEMode constants listed in the following table. technology. InputBox関数を使用すると、ユーザーからデータを文字列として受け取れます。名前などの日本語のデータを受け取るときに、日本語変換ソフト(IME)を自動 … Excelを使っているとセルによって「半角」や「ひらがな」などIMEの入力モードを切り替えるのが面倒な場合がありますよね。 式Validation オブジェクトを表す変数を取得します。expression A variable that represents a Validation object. Returns or sets the description of the Japanese input rules. 日本語入力規則の説明を設定または返します。Returns or sets the description of the Japanese input rules. IMEStatus関数についての解説。本サイトは初心者向けのExcel VBA入門サイトです。VBAによるIE(Internet Explorer)制御など上級者向けのプログラミングまで幅広くカバーしています。 Excel VBA 日本語入力(IME)をオンにしてInputBoxを開く . VBAで住所から郵便番号を取得してみる(Google Maps Geocoding API版), Google Maps Geocoding API のjson形式の結果をExcelのVBAで取得する, Google Maps Geocoding API を使って緯度経度を取得する(xml版), 外部接続が許可されていないレンタルサーバのデータベースにローカルPCからODBC接続する. VBAコードの解説. //-->. 更にIMEModeプロパティで日本語の入力規則の内容を設定します。 IMEMode = fmIMEMode コントロールがフォーカスを取得したときの日本語入力システム (IME) の 既定の実行時モードを設定します。 引数: object 設定するオブジェクトを指定します。 fmIMEMode 日本語入力システム (IME) のモードを … サンプルコードではIMEモードを指定する列(Columns)をselectし、Validationオブジェクトを参照し、いったん入力規則を削除(Delete)した後にAddメソッドで入力規制を設定します。 更にIMEModeプロパティで日本語の入力規則の内容を設定します。 IMEの現在の状況を示す整数値を返します。, IMEStatus関数の戻り値は次のとおりです。, 次の例は、現在のIMEの状況を表示します。,