• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Sendkeyでステップイン不能?)

Sendkeyでステップイン不能?

このQ&Aのポイント
  • VBAで久しぶりにSendkeyを使おうしたところ、ステップインではキーが送られません。
  • VBエディター上からF8を押してもセンドキーが実行されません。
  • VBエディターの問題でしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

SendKeys はアクティブなウィンドウに送られます。 Sub test() Shell "Notepad.exe", 1 'ここにブレークポイント設定 SendKeys "A" SendKeys "B" SendKeys "C" End Sub だと、F8 で進めてゆくと、SendKeys "A"に進んだ段階でアクティブなのはVBEのウィンドウになりますから Sub test() Shell "Notepad.exe", 1 'ここにブレークポイント設定 SendKeys "A" ASendKeys "B" ←ここに、A が来てしまいます(Win7 Excel2010では) SendKeys "C" End Sub メモ帳で何をしたいのか不明ですが テキストファイルを変更・新規作成などでしたら VBAのOpenステートメントとか FileSystemObjectを使うとかで対応されては? ヘルプより抜粋 Set fs = CreateObject("Scripting.FileSystemObject") Set a = fs.CreateTextFile("c:\testfile.txt", True) a.WriteLine("This is a test.") a.Close ご参考まで。

stnmrk
質問者

お礼

ありがとうございました。

stnmrk
質問者

補足

回答ありいがとうございます。 自分のエクセルでは、Sendkey"B"の前にAは出てこないです。 メモ帳に文字を送ったのは、単純化して原因を調べるためです。実際にはIEなどに送ります。 キーを送っている時アクティブなのはVBEと言われれば、確かにそうですが、実際にはF8を押しても対象ソフトにキーが送られていました。 ただ、もう5年くらいこのメソッド使ってなかったんです。 その間に何回かウィンドウズをアップデートしたので、ウイルス対策にセンドキーの制限がかかったのかな? とも思ったんですが。

関連するQ&A