アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

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

Columns(5).Validation.IMEMode = xlIMEModeAlpha

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

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

A 回答 (1件)

こんにちは。



>Columns(5).Validation.IMEMode = xlIMEModeAlpha

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

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

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

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

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

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

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

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

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

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

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

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

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

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

お礼日時:2007/07/30 20:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!