• 締切済み

エクセルマクロでIMEのひらがなと英数字の切り替え

エクセルマクロで IMEのひらがなと英数字を切り替える構文を教えてください 参考書やヘルプを見ても 入力規則を設定しなければエラーになるようなので困っています。 Columns(5).Validation.IMEMode = xlIMEModeAlpha これだと 5列目に入力規則を設定していなければ実行時エラーになります。 入力規則を設定せず自由にIMEのオン・オフを切り替えたいのですが どのような構文にすればよいのでしょう

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんにちは。 >Columns(5).Validation.IMEMode = xlIMEModeAlpha もともと、こういう方法ではありえないけれども、 >5列目に入力規則を設定していなければ実行時エラーになります。 という理由から、 >入力規則を設定せず自由にIMEのオン・オフを切り替えたいのですが >どのような構文にすればよいのでしょう まず、全体として、どのようなことをしているのか分かりません。 5列目に、数字を入れるとかするなら、「入力規則」でよいと思います。 こういう内容というは、どこか、ひとつの部分を切り出して解決しようとしても、全体の組み立てが必要だと思うのです。 この場合、なぜ、それがうまく行かないか説明すると、セルに入力するためのIMEのステージと、もうひとつは、ワークシートとは直接関係のない段階のIMEのステージの二種類があって、後者の場合は、いくらご希望のステージを整えても、何も役に立たないはずです。 前者の場合は、何か、キーになるイベントが必要なのです。IMEは、セルに入力するのか、また、どこかのコマンドに入力するか、そうした後に、制御されるわけで、そのひとつが、入力規則のIMEコントロールです。 ですから、もし「入力規則」を使ってはならないとするなら、その周辺の説明がないと、切り出されたテクニックを教えても使いこなせないと思います。もちろん、これらは、実務で使うことを想定した話で、もし、単に技術の質問でしたら、専門掲示板のほうがよいかもしれません。今回の件は、私に分からないことではないのですが、私の技術はすぐに底をついてしまうので。

JOX
質問者

お礼

>この場合、なぜ、それがうまく行かないか説明すると、 >セルに入力するためのIMEのステージと、もうひとつは、 >ワークシートとは直接関係のない段階のIMEのステージの二種類があって、 >後者の場合は、いくらご希望のステージを整えても、何も役に立たないはずです なるほど 大変分かりやすいです。 IMEを当たり前のように使用していたので あたかも、IMEがエクセルの機能の一部と勘違いしていました なんだか、根本のところでWinアプリを理解していなかったみたい 気づかせていただき、ありがとうございました。 >ひとつの部分を切り出して解決しようとしても、 >全体の組み立てが必要だと思うのです。 はいそうでした マクロでIMEの切り替えを強引にしたければ シート全体を選択した状態で「入力規則」の日本語入力をオンに すれば、事足りるのですね。 なんだか胸の閊えが取れました。 ありがとうございました。

関連するQ&A