• 締切済み

アップデート後もOutlook 「あ」で開きたい

Windows10で Outlook2013を起動したとき、IME入力モードを通常開く「A」ではなく「あ」で開きたい。 Windows10アップデートをするまでは、VBAの記述が Private Sub Application_Startup() SendKeys ("{kanji}") SendKeys ("{NUMLOCK}") End Sub で「あ」で開けておりました。 Windows10アップデート後、「あ」で開けません。 Windows7 Outlook2010 の環境では、上記の記述で開けております。 Windows10アップデート後、Outlook2013を「あ」で開きたいのです。 VBAの記述をお教えいただきたく、よろしくお願いいたします。

みんなの回答

  • Likodon
  • ベストアンサー率0% (0/1)
回答No.4

外していたらごめんなさい。 VBAの問題ではなくWindows10の設定では? 下記サイトを参考にして下さい スタートボタン--->設定(歯車マーク)クリック--->デバイス クリック--->入力 クリック--->キーボードの詳細設定 クリック--->「アプリウインドウごとに異なる入力方式を設定する」のチェックをはずします--->再起動する これでIMEが「あ」の状態になると思います https://kostrivia.com/3871.html

yonemasatsu
質問者

お礼

ありがとうございます。

yonemasatsu
質問者

補足

ご回答、ありがとうございます。 指示どおり設定し、Windows10再起動しましたが、IMEは依然として「A」のままです。

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.3

思いつきです。 もしよかったら、次の候補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がオンになるんですよね?

yonemasatsu
質問者

お礼

ありがとうございます。 いろいろな案を、お示しいただき、本当にありがとうございます。

yonemasatsu
質問者

補足

ご回答、ありがとうございます。 候補2,3,4を試しました。改善されず「A」のまま。候補1は試し済み。 2秒を3秒にして候補1で試しましたが、改善されず「A」のまま。 2秒を1秒にして候補1で試しましたが、改善されず「A」のまま。 無理みたいです。 確かに、Outlookが起動し終わった画面で半角/全角キーを押せば、IMEがオンになるわけですが、押すことはしないため、文字入力をするとき、半角英数で入力をしてから気づくので、ストレスがたまるのです。

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.2

WaitFor (2) 'この値が待ち時間;単位秒です。 これを3に変更すれば待ち時間が3秒に変わります。 試す価値がないわけではないとは思いますが 経験的には、それ以上大きくしても改善することは 期待できないんじゃないかと思います。 そもそも、 VBAにはIMEを直接制御する機能が(私の知る限り)ないため SendKeys を使っているわけですが、 これ(待ち時間を設ける設定)で改善されないようであれば 他の対策は思いつきません。他の方のコメントに期待してください。

yonemasatsu
質問者

お礼

ありがとうございます。

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.1

私の環境(添付画像)では、指摘のコードで 期待通り、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

yonemasatsu
質問者

お礼

早速の、丁寧なご回答ありがとうございます。 お世話になります。

yonemasatsu
質問者

補足

早々に、ご回答ありがとうございます。 こちらは、 エデション   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にすればよろしいのでしょうか? よろしくお願いします。

関連するQ&A