
メモ帳を起動したとき、IMEの入力モードが、通常、半角英数「A」で開くようになっています。そのメモ帳を、IMEの入力モードが、ひらがな「あ」で開くようにしたいのですが、何度、試しても、うまくできません。
次の(1)に、(2)を、どこに、どのように、追加すればよいか、お教えください。
構文が、間違っておりましたら、ご指摘くださいますよう、お願いいたします。
よろしく、お願いいたします。
(1)
Option Explicit
Dim objWshShell
Set objWshShell = WScript.CreateObject("WScript.Shell")
objWshShell.Run "C:\Windows\System32\notepad.exe"
Set objWshShell = Nothing
(2)
Sub IMEの初期入力モードをひらがなに設定する()
If IMEStatus <> vbIMEModeHiragana Then
SendKeys "{kana}", True
End If
End Sub
No.3ベストアンサー
- 回答日時:
以下は、wsh の WshShell オブジェクトの SendKeys メソッドの説明。
http://msdn.microsoft.com/ja-jp/library/cc364423 …
(google検索、wsh sendkeys でトップに出ます)
これを見ても分かる通り、押している時間の設定なんぞ出来ません。
VBだとキーを押す・離すといった動作もできたはずなので、
押している時間やタイミングの調節もできたはずですが、
VBSでは簡単にはできません。
いま私の回答に対して、あなたができていないのは、IMEのキーの設定
ではないでしょうか?
IMEのキー設定に関しては、以下のページが役に立つでしょう。
http://se-bikou.blogspot.jp/2010/10/imewindows7. … (MSIME)
http://yuknak.com/main/useful/howto_ime/ime01.html (MSIME2010)
(IME キー設定 方法 Windows7、IME2010などのキーワードで検索)
これらを参考に、CtrL-O (よりは F13がおすすめ)キーを IME-オンに
割り振ればよいでしょう。
ところで、あなたの目的は何でしょう?
単純にメモ帳をIME オンの状態で開きたいだけならば、以下のアプリケーショ
ンを使えば良いかと思います(動作するかは保証できません)。
「Dさんの日本語じゃなきゃイヤン。Ver.1.30」
http://www5.plala.or.jp/dsan/program.html
VBSの勉強ならば、題材があまりよろしくありません。
VBSはどっちかというとバッチ処理(あまり人の手を介さずに)を高度に行う
ためのものです。
参照 http://www.atmarkit.co.jp/ait/articles/0606/02/n …
このサイト @IT には他にも WSHやその他の入門連載があり、非常に
良い参考資料になります。
VB系列の勉強ならば、VisualStudio Express をインストールして開発環境を
作ったほうが、このような小回りの効いたプログラムが作成できます。
画面を見ながら手動で行っているマウスやキーボードの操作などを自動化
させたい場合は、フリー・シェアウエアの UWSC を使うと良いでしょう。
BASICに似た構文で、簡単にいろいろな操作ができます。
サンプルも、入門サイトも豊富にあります。
http://www.uwsc.info/
この場合、IMEの状態なども調べることができ、以下の様な短いコードで
目的のことができます。(IMEのキー設定追加は一切不要です)
Exec("notepad") // メモ帳起動
メモID = GETID("メモ帳",,-1) // メモ帳の WindowIDを取得
Ifb メモID >= 0 Then // メモ帳のウインドウがあったならば、以下の処理
Ctrlwin(メモID, ACTIVATE) // メモ帳のウインドウを手前にする。
Ifb Getkeystate(TGL_IME) = False Then // メモ帳のIMEの状態がオフならば、以下の処理
Sckey(メモID, VK_KANJI) // 「漢字」キーをメモ帳に送る
Endif
Endif
あと、非常に厳しいことをいいますが、あなたは調べたり聞いたりしてものを
作り上げていくことに向いていないと思います。
まず、質問のカテゴリーは「[技術者向] コンピューター >その他([技術者向]
コンピューター) 」ではなく「[技術者向] コンピューター >プログラミング
>Visual Basic」だと思います。こういうことに注意が向かないと、
問題解決に近づけなくなります。
1つ目の回答で、漢字入力に ならないとだけ報告するのではなく、
開くのダイアログが出てしまうと報告すれば、No2の回答ではなく、
この回答の趣旨を書いたはずなので、私とあなたの貴重な時間を無駄にせずに
すみました。更に発生した問題の報告ができていません。
また、No.1の回答にある「IMEのキー設定で CTRL+O を IMEオン に設定して」が
分からないにもかかわらず、それを聞かずに別の無理な方法を聞いてきました。
回答者が できた という手順を再現する方法詳細を聞かずに、別のことを
聞くことは、回答者に余計な手間を取らせます。逆に回答の XXX の部分が
わからないと聞けば、その詳細を書くだけなので、それほど苦にはなりません。
私もそうでしたが、VBS、VBA、VBの区別ができませんでした。
しかし、質問にあるようなコードを掲載しているWebサイトを読めば、
VBS, WSHなどのキーワードが必ず出てくるはずで、VBS 入門 や wsh 入門 な
どのキーワードで Web検索すれば、それこそ手取り足取り詳細が説明されてい
るサイト(@ITなど)に辿り着くはずです。
質問から、問答を経て1ヶ月かけてやっと問題解決しそうな回答に行き着くよ
りも、入門サイトにある例題をどんどんこなしていくほうが、絶対早道です。
この回答への補足
色々と、お教えいただきありがとうございます。もっと、勉強してみようと思います。
補足入力のところで、お尋ねいたしました、【画像の、左側の、赤丸で囲まれたところは、何と何とが表示されているのですか?画像の右側の青くなっている横一列は、キーはF13と思うのですが、その横は何と表示されているのですか?候補一のところは、「読み候補」ですか?】も、勉強の過程で、わかるかもしれません。何度しても、実現しない「あ」の表示も、できるようになるかもしれません。
ただ、「あ」の表示にしたいのは、ローマ字で入力が進んで行ってしまってから、気が付いて、ひらがなで再度入力しなおすのが、非常に面倒だからなのです。
私のために、貴重な時間を割いていただきありがとうございました。
No.2
- 回答日時:
まず、言語バーの入力モード表示が「あ」にならない件は
notepad が開いてから1秒以上待つことになっていますので、
少し待ってから確認してください。また、必ずではないですが、
「あ」にならずに「A」のままでひらがな入力になっていることも
ありました。この場合は、例えば a と入力すると あ と入力
されました。
言語バーの表示が「A」のままでも実際にキー入力をして
試してみてください。
あと、notepadが開いた後に、「開く」のファイル選択ダイアログが
表示された場合は、IMEの設定がされていない場合です。
この場合は、IME側の設定を確認してください。
見づらいかもしれませんが、添付の画像ファイルを確認して下さい。
なお、CTRL+O は上記のように notepad はファイルを開くキー設定が
されているので、テスト後は別のキーに割り振るのがよいでしょう。
おすすめは F13 などです。通常のキーボードには無くアプリケーションとの
干渉がほとんどないからです。この場合は "^o" を "{F13}"に
変更が必要です。

この回答への補足
ありがとうございます。
ご回答のとおり、notepadが開いた後に、「開く」のファイル選択ダイアログが表示されます。それをキャンセルし、notepadを起動すると、やはりIME入力モードは「A」のままです。aを入力してもaのままです。
画像の、左側の、赤丸で囲まれたところは、何と何とが表示されているのですか?
画像の右側の青くなっている横一列は、キーはF13と思うのですが、その横は何と表示されているのですか?候補一のところは、「読み候補」ですか?
『Dさんの長押しIME起動2』のVer.2.5.0
http://dsan.blog74.fc2.com/blog-category-6.html
をインストールしています。Windows7でも、正常に動いています。
この常駐を停止して、ご回答いただいた方法でnotepadを起動しても、IME入力モードは「A」のままです。aを入力してもaのままです。
この『Dさんの長押しIME起動2』を利用して、notepadをa
を長押しして起動すれば、IMEの日本語入力モードが「あ」で開くと思うのです。私が、vbsの構文を考えて、notepad を起動しても、IMEの日本語入力モードが「あ」には、なりません。「A」のままです。
あつかましくて、すみません。お願いがあるのですが、『Dさんの長押しIME起動2』を利用して、notepadをaを長押しして起動すれば、IMEの日本語入力モードが「あ」で開くvbs の構文を考えてもらうことは、できないでしょうか?
よろしく、お願いいたします。
No.1
- 回答日時:
OSが何なのか、XP?Vista?7?、言語は何なのか、VBS?VBA?
情報がないので、正確な回答ではないかもしれません。
まず、(1)の言語は VBS, (2)の言語はVBAのため、似て非なるものです。
そのままコピペでは結合できません。
他の質問がVBSのためVBSと仮定すると、問題がひとつ。
VBSではIMEの状態を調べる方法はありません。他のプログラムの
助けが必要です。旧来のIMEのならば imm32.dll を利用しなければなりませんし、
TSFの場合はさらに面倒です。
しかし、メモ帳が起動時はIMEが必ずオフであることを前提にすれば、ステータスを
調べずにいきなりIMEをオンにする動作でも良いでしょう。
起動したアプリを操作するので、Runメソッドよりは Execメソッドの方が
恐らく便利です。
Sendkeysは WshShell オブジェクトで利用します。
しかし、私の環境 Windows7 64bitでは {kanji} や {kana} が動作しなかった
ため、IMEのキー設定で CTRL+O を IMEオン に設定して、{^o} を送るように
しました。
以上を踏まえて、作成したコードは以下のとおりです。
汎用に使用するのであればダメダメなコードですが、自分だけで使用する分には
こんなものでも良いでしょう。
Option Explicit
Dim objWshShell
Dim objExec
Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objExec = objWshShell.Exec("notepad.exe")
' 起動を待つ
Do Until objWshShell.AppActivate(objExec.ProcessID)
WScript.Sleep 1000
Loop
' notepad が起動していることを確認する
if objExec.Status = 0 Then
WScript.Sleep 1000 'これを入れないとなぜか動かなかった
objWshShell.SendKeys "^o",True ' IME 設定で CTRL+O をIMEオンに変更
End if
set objExec = Nothing
set objWshShell= Nothing
この回答への補足
早速、ご回答いただきまして、ありがとうございます。
Windows7 32bit
Windows7 64bit
の、それぞれで、お教えいただきました構文を vbs にして メモ帳を開きましたが、IMEの入力モードは、半角英数「A」のままです。メモ帳は、日本語モード「あ」では、開きませんでした。
希望通りには、なりませんでした。
(1)の言語は VBS, (2)の言語はVBA の違いもよくわからず、質問いたしております。ご迷惑をおかけしております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 Windows10で、急に「IMEが無効です」となり日本語入力ができなくなりました。 6 2023/02/15 06:46
- Windows 10 MicrosoftIMEでトラブル、助けてください m(_._)m 4 2023/05/16 14:11
- Visual Basic(VBA) VBAのトグルボタンでのマクロについて質問です 3 2022/10/10 17:23
- Excel(エクセル) ①Excel シートに、「=」を入力したいのですが、shift+「ほ」を押すと、「_」と入力されます 2 2022/04/28 12:59
- Word(ワード) IMEパッドがショートカットキーで開かないのですが。。。 5 2023/06/11 09:23
- マウス・キーボード キーボード Oキーを押すとプルダウンメニューが出る 4 2022/09/08 14:48
- Windows Me・NT・2000 IMEオプションが開かない 2 2023/04/07 18:04
- Visual Basic(VBA) 指定文字を太字にするVBAを別シートのセルを指定する構文(改良について) 6 2022/08/27 22:11
- Windows 10 Microsoft IMEを無効化する方法 1 2022/07/28 08:20
- Windows 10 Win11で絵文字が一部表示されない 1 2023/08/02 19:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教科書などに初めから書いてあ...
-
ノートPC探してます。イラスト...
-
プログラマー向けのノートパソ...
-
消しゴムがくっついて、跡が取...
-
分子量とマーカー移動度の片対...
-
CDやDVDに書くマジックペン
-
障害者手帳を無くしてしまいま...
-
自作パソコンから既製品に買い...
-
ノートPCは持ち運べないと意味...
-
内容証明郵便内の文書に太字を...
-
日頃、感じる不便なものってあ...
-
リールの紐が切れてしまったの...
-
ネットワークが検出できません
-
ハンゲームって無料ですよね??
-
PCモニターでXBOX360
-
名刺サイズの黒い台紙を探して...
-
家計簿のページを印刷したい
-
デイトレードにおすすめのパソ...
-
ノートPCのスペック、あなた...
-
パソコンで絵を描くにはどんな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
書いたり消したりできるラミネ...
-
教科書などに初めから書いてあ...
-
CDやDVDに書くマジックペン
-
大学を平日一日休んで運転免許...
-
Excel:任意の列だけCSV形式で...
-
消しゴムがくっついて、跡が取...
-
「覚書」、「メモ」、「備忘録...
-
両面印刷するとき裏表とも罫線...
-
Windows10で、拡張子が.pyのフ...
-
VBAでメモ帳にコピペをしたいの...
-
日頃、感じる不便なものってあ...
-
色鉛筆の箱の修理について
-
Wordで 文字の一部にモザイクを...
-
メモ帳のテキストがいつのまに...
-
ぺたろうの代わりが欲しい パソ...
-
「筆記用具」という言葉はノー...
-
メモ帳でタブ幅の設定はできる...
-
字が下手すぎて祝儀袋を持って...
-
PCの画面上に文字や線を引ける...
-
プロジェクタだと動画が映らない
おすすめ情報