- 締切済み
アップデート後もOutlook 「あ」で開きたい
Windows10で Outlook2013を起動したとき、IME入力モードを通常開く「A」ではなく「あ」で開きたい。 Windows10アップデートをするまでは、VBAの記述が Private Sub Application_Startup() SendKeys ("{kanji}") SendKeys ("{NUMLOCK}") End Sub で「あ」で開けておりました。 Windows10アップデート後、「あ」で開けません。 Windows7 Outlook2010 の環境では、上記の記述で開けております。 Windows10アップデート後、Outlook2013を「あ」で開きたいのです。 VBAの記述をお教えいただきたく、よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- Likodon
- ベストアンサー率0% (0/1)
外していたらごめんなさい。 VBAの問題ではなくWindows10の設定では? 下記サイトを参考にして下さい スタートボタン--->設定(歯車マーク)クリック--->デバイス クリック--->入力 クリック--->キーボードの詳細設定 クリック--->「アプリウインドウごとに異なる入力方式を設定する」のチェックをはずします--->再起動する これでIMEが「あ」の状態になると思います https://kostrivia.com/3871.html
- HohoPapa
- ベストアンサー率65% (455/693)
思いつきです。 もしよかったら、次の候補2,3,4を試してみてください。 Private Sub Application_Startup() WaitFor (2) '待ち:単位秒 'SendKeys ("{kanji}") '候補1 'SendKeys ("{kanji}"), True '候補2 'If IMEStatus = vbIMEModeOff Then SendKeys "{kanji}" '候補3 If IMEStatus = vbIMEModeOff Then SendKeys "{kanji}", True '候補4 SendKeys ("{NUMLOCK}") End Sub '--指定した秒だけ停止--- Function WaitFor(ByVal second As Integer) Dim futureTime As Date futureTime = DateAdd("s", second, Now) While Now < futureTime DoEvents Wend End Function ※そもそも、 Outlookが起動し終わった画面で半角/全角キーを押せば、 IMEがオンになるんですよね?
お礼
ありがとうございます。 いろいろな案を、お示しいただき、本当にありがとうございます。
補足
ご回答、ありがとうございます。 候補2,3,4を試しました。改善されず「A」のまま。候補1は試し済み。 2秒を3秒にして候補1で試しましたが、改善されず「A」のまま。 2秒を1秒にして候補1で試しましたが、改善されず「A」のまま。 無理みたいです。 確かに、Outlookが起動し終わった画面で半角/全角キーを押せば、IMEがオンになるわけですが、押すことはしないため、文字入力をするとき、半角英数で入力をしてから気づくので、ストレスがたまるのです。
- HohoPapa
- ベストアンサー率65% (455/693)
WaitFor (2) 'この値が待ち時間;単位秒です。 これを3に変更すれば待ち時間が3秒に変わります。 試す価値がないわけではないとは思いますが 経験的には、それ以上大きくしても改善することは 期待できないんじゃないかと思います。 そもそも、 VBAにはIMEを直接制御する機能が(私の知る限り)ないため SendKeys を使っているわけですが、 これ(待ち時間を設ける設定)で改善されないようであれば 他の対策は思いつきません。他の方のコメントに期待してください。
お礼
ありがとうございます。
- HohoPapa
- ベストアンサー率65% (455/693)
私の環境(添付画像)では、指摘のコードで 期待通り、IMEがオンになります。 つまり、outlook起動直後の画面 (受信メールの一覧が表示された画面)で "あ"の状態です。 Sendキーを使った制御なので、 OutLookの起動が完了する前に Sendキーが動作してしまうのかもしれません。 もしよかったら、下記コードで 2秒(あるいは1秒)の待ちを加えてみてください。 なお、 少なくとも私の環境で異常はありませんが、 責任ある回答ではありません。 Private Sub Application_Startup() WaitFor (2) SendKeys ("{kanji}") SendKeys ("{NUMLOCK}") End Sub '--指定した秒だけ停止--- Function WaitFor(ByVal second As Integer) Dim futureTime As Date futureTime = DateAdd("s", second, Now) While Now < futureTime DoEvents Wend End Function
お礼
早速の、丁寧なご回答ありがとうございます。 お世話になります。
補足
早々に、ご回答ありがとうございます。 こちらは、 エデション Windows10 Pro バージョン 1803 インストール日 2018/06/23/(土) OSビルド 17134.228 MicrosoftR OutlookR 2013 (15.0.5059.1000) MSO (15.0.5059.1000) 32 ビット です。 記述は、'--指定した秒だけ停止---を一緒にして、 Private Sub Application_Startup() WaitFor (2) SendKeys ("{kanji}") SendKeys ("{NUMLOCK}") End Sub '--指定した秒だけ停止--- Function WaitFor(ByVal second As Integer) Dim futureTime As Date futureTime = DateAdd("s", second, Now) While Now < futureTime DoEvents Wend End Function ということでよろしいのでしょうか。 この記述は、待ちの時間が2秒ということですね。 こちらでは、「あ」にならず、依然として「A」のままです。 3秒にするには、2とsecondのところを3とthirdにすればよろしいのでしょうか? よろしくお願いします。
お礼
ありがとうございます。
補足
ご回答、ありがとうございます。 指示どおり設定し、Windows10再起動しましたが、IMEは依然として「A」のままです。