• ベストアンサー

vba InputBox imeを制御するには?

Sub test() InputBox ("文字を入力してください") End Sub このコードを実行した時に、必ずかな入力(ローマ字で打つけど漢字に変換できる状態)にする方法はありますか? IMEがオフになってる時に実行すると英字入力で始まってしまいます。

質問者が選んだベストアンサー

  • ベストアンサー
  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.2

入力規則を使って、素晴らしく強引に出来ないことはないです。 Sub test()     With Selection.Validation    ' 入力規則を         .Delete         ' 一度初期化         .Add Type:=xlValidateInputOnly    ' 「全ての値」で規則を追加         .IMEMode = xlIMEModeOn        ' 日本語入力をオン     End With     InputBox ("AA")    ' インプットボックスを表示 ' 以下、必要に応じて '    With Selection.Validation    ' 入力規則を '        .Delete         ' 一度初期化 '        .Add Type:=xlValidateInputOnly    ' 「全ての値」で規則を追加 '        .IMEMode = xlIMEModeOff        ' 日本語入力をオフ '    End With     Selection.Validation.Delete    ' 入力規則解除 End Sub アクティブセルに入力規則が既にある場合はもう少々工夫が必要です。 とりあえず、参考まで。

zlboldbpnqlt
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

インプットボックスでは制御できません。 ユーザーフォームを用意し、そこに置いたテキストボックスについてIMEModeを制御して実現してください。

zlboldbpnqlt
質問者

お礼

不可能なのですね。 その方法を採用してみます。 ありがとうございました。

関連するQ&A