- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Sendkeyでステップイン不能?)
Sendkeyでステップイン不能?
このQ&Aのポイント
- VBAで久しぶりにSendkeyを使おうしたところ、ステップインではキーが送られません。
- VBエディター上からF8を押してもセンドキーが実行されません。
- VBエディターの問題でしょうか?
- みんなの回答 (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 ご参考まで。
お礼
ありがとうございました。
補足
回答ありいがとうございます。 自分のエクセルでは、Sendkey"B"の前にAは出てこないです。 メモ帳に文字を送ったのは、単純化して原因を調べるためです。実際にはIEなどに送ります。 キーを送っている時アクティブなのはVBEと言われれば、確かにそうですが、実際にはF8を押しても対象ソフトにキーが送られていました。 ただ、もう5年くらいこのメソッド使ってなかったんです。 その間に何回かウィンドウズをアップデートしたので、ウイルス対策にセンドキーの制限がかかったのかな? とも思ったんですが。