こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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

エクセルマクロで
IMEのひらがなと英数字を切り替える構文を教えてください

参考書やヘルプを見ても
入力規則を設定しなければエラーになるようなので困っています。

Columns(5).Validation.IMEMode = xlIMEModeAlpha

これだと
5列目に入力規則を設定していなければ実行時エラーになります。

入力規則を設定せず自由にIMEのオン・オフを切り替えたいのですが
どのような構文にすればよいのでしょう

投稿日時 - 2007-07-29 20:23:30

QNo.3210192

JOX

困ってます

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

こんにちは。

>Columns(5).Validation.IMEMode = xlIMEModeAlpha

もともと、こういう方法ではありえないけれども、

>5列目に入力規則を設定していなければ実行時エラーになります。
という理由から、

>入力規則を設定せず自由にIMEのオン・オフを切り替えたいのですが
>どのような構文にすればよいのでしょう

まず、全体として、どのようなことをしているのか分かりません。
5列目に、数字を入れるとかするなら、「入力規則」でよいと思います。

こういう内容というは、どこか、ひとつの部分を切り出して解決しようとしても、全体の組み立てが必要だと思うのです。

この場合、なぜ、それがうまく行かないか説明すると、セルに入力するためのIMEのステージと、もうひとつは、ワークシートとは直接関係のない段階のIMEのステージの二種類があって、後者の場合は、いくらご希望のステージを整えても、何も役に立たないはずです。

前者の場合は、何か、キーになるイベントが必要なのです。IMEは、セルに入力するのか、また、どこかのコマンドに入力するか、そうした後に、制御されるわけで、そのひとつが、入力規則のIMEコントロールです。

ですから、もし「入力規則」を使ってはならないとするなら、その周辺の説明がないと、切り出されたテクニックを教えても使いこなせないと思います。もちろん、これらは、実務で使うことを想定した話で、もし、単に技術の質問でしたら、専門掲示板のほうがよいかもしれません。今回の件は、私に分からないことではないのですが、私の技術はすぐに底をついてしまうので。

投稿日時 - 2007-07-30 10:03:50

お礼

>この場合、なぜ、それがうまく行かないか説明すると、
>セルに入力するためのIMEのステージと、もうひとつは、
>ワークシートとは直接関係のない段階のIMEのステージの二種類があって、
>後者の場合は、いくらご希望のステージを整えても、何も役に立たないはずです

なるほど
大変分かりやすいです。
IMEを当たり前のように使用していたので
あたかも、IMEがエクセルの機能の一部と勘違いしていました
なんだか、根本のところでWinアプリを理解していなかったみたい

気づかせていただき、ありがとうございました。

>ひとつの部分を切り出して解決しようとしても、
>全体の組み立てが必要だと思うのです。

はいそうでした
マクロでIMEの切り替えを強引にしたければ
シート全体を選択した状態で「入力規則」の日本語入力をオンに
すれば、事足りるのですね。

なんだか胸の閊えが取れました。
ありがとうございました。

投稿日時 - 2007-07-30 20:53:54

あなたにオススメの質問