sendkeysで「ctrl+A」を押せない

解決


とうる  2006-08-15 15:04:10  No: 96255

acrobat readerの自動操作をVB6で作っていますが

{V}などのキー入力は反応するのですが
CTRL+Aがどうしても反応しません。教えて下さいお願いします。

記述

sendkeys {^A}

sendkeys {^(A)}

いずれも失敗。


特攻隊長まるるう  2006-08-15 19:06:52  No: 96256

ヘルプの使用例を見ると書いてありますが、
中括弧{}の外に出します。
[VB6.0]
SendKeys "^{A}", True


とうる  2006-08-16 01:44:03  No: 96257

SendKeys "^{A}", True  も失敗しました。

通常ならこれでいけるのでしょうが

acrobat reader7.0は反応しないようです。

ほかに直接キーを押すような命令はないでしょうか

よろしくお願いします。


特攻隊長まるるう  2006-08-16 02:35:42  No: 96258

[VB6.0]
    SendKeys "{V}", True
    SendKeys "%{E}", True
    SendKeys "^{A}", True
ではどうですか?


とうる  2006-08-16 09:21:40  No: 96259

特攻隊長まるるう様  何度も投稿頂きありがとうございます。

やはり
    SendKeys "{V}", True
    SendKeys "%{E}", True
    SendKeys "^{A}", True

でも無理です。ほかのアプリならいけるのですが。


特攻隊長まるるう  2006-08-16 22:32:05  No: 96260

> ほかのアプリならいけるのですが。
つまりVB側の問題ではなく、Acrobat Reader 側の
問題である可能性が高いということですね?
…それだと
> ほかに直接キーを押すような命令はないでしょうか
同じ結果になるのでは?と考えられます。

確認ですが、
  ・手作業(キーボード)で操作した場合は、期待した
とおりの動作をするんですよね?
  ・SendKeys "{V}"は反応する(テキスト選択ツール
になる?)のですよね?

どこまで実行できますか?
[VB6.0]
    SendKeys "{V}", True    'テキスト選択ツール
    SendKeys "%{E}", True   '[編集]メニュー選択
    SendKeys "{DOWN}", True '[全てを選択]まで下へ移動
    SendKeys "{DOWN}", True
    SendKeys "{DOWN}", True
    SendKeys "{DOWN}", True
    SendKeys "{DOWN}", True
    SendKeys "{DOWN}", True
'    SendKeys "{ENTER}", True  ’上までの動作が確認できたら
                                    ’コメントからコードに戻してください。


中途半端  2006-08-17 01:30:09  No: 96261

>acrobat reader7.0は反応しないようです。

>ほかに直接キーを押すような命令はないでしょうか

次のような方法ではどうでしょう。
Private Declare Sub keybd_event Lib "user32" _
                            (ByVal bVk As Byte, _
                            ByVal bScan As Byte, _
                            ByVal dwFlags As Long, _
                            ByVal dwExtraInfo As Long)
Private Const KEYEVENTF_KEYUP = &H2

処理:
    Call keybd_event(vbKeyControl, 0, 0, 0)
    Call keybd_event(vbKeyA, 0, 0, 0)
    Call keybd_event(vbKeyA, 0, KEYEVENTF_KEYUP, 0)
    Call keybd_event(vbKeyControl, 0, KEYEVENTF_KEYUP, 0)

ただし、acrobat reader7.0がアクティブになっていることが条件です。

VB6.0 WindiowsXP acrobat reader7.0 の環境で確認できました。


とうる  2006-08-17 03:48:32  No: 96262

特攻隊長まるるう様、いつもご丁寧にありがとうございます。
感謝感激です。ありがとうございます。

  ・手作業(キーボード)で操作した場合は、期待した
とおりの動作をします。

  ・SendKeys "{V}"は反応します(テキスト選択ツール
になる?)、テキスト選択ツールをクリックしたのち
少しsleepをかけてCTRL+Aをしたいんです(全て選択ですね)


とうる  2006-08-17 03:57:26  No: 96263

やはりSendkeyでは何をやっても無理なようです。

中途半端様ありがとうございます。keybd_eventでバッチリ動きました。

特攻隊長まるるう様、ご丁寧に色々とアドバイス

ありがとうございました。勉強になりました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加