[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBAでIE操作』(あや)
2003 XP IE6
ここの掲示板でもいろいろ教えて頂いて 組み合わせてつかわさせて貰っております。
[[20131122133208]] で教えて頂いたものを使って進めております。
アクティブウィンドウの画面ハードコピー後 画面スクロールで下に下りて アクティブウィンドウの画面ハードコピーを取る この作業をVBAにしています。 ------------------------------------------ keybd_event &H12, 0, 0, 0 keybd_event &H2C, 1, 0, 0 keybd_event &H12, 0, 2, 0
Sleep 3000 Set ObjIE = Windw SetForegroundWindow (ObjIE.hwnd)
Shell "CScript ""C:\skey07.vbs""", 0
Sleep 3000 keybd_event &H12, 0, 0, 0 keybd_event &H2C, 1, 0, 0 keybd_event &H12, 0, 2, 0 -------------------------------------------- skey07.vbsの中身
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell. SendKeys "+{TAB},True"
-------------------------------------------- skey07.vbsを使っているのは、 タイミングがずれたりしやすいので 確実に押せる方法として?使っています
少し話しがずれますが… Sendkeysは{END}ではなく、+{TAB}を使っているのは 画面にフォーカスが当たってないようで (上のバーは青くなっているので選択されているように見えるのですが) ENDが効かないため。(ENDに限らず、矢印やPagedownも効かない) いろいろ試していて、Shift+TABだと画面したのボタンにカーソルがセットできるため
話しを戻して、 上記の記述だと上半分ハードコピー後 下スクロールが機能せず、 上半分のままハードコピーをもう一度取っている動きになります
確認したこととして、 上3行を飛ばして動かしたところ
Sleep 3000 Set ObjIE = Windw SetForegroundWindow (ObjIE.hwnd)
Shell "CScript ""C:\skey07.vbs""", 0
Sleep 3000 keybd_event &H12, 0, 0, 0 keybd_event &H2C, 1, 0, 0 keybd_event &H12, 0, 2, 0
下半分スクロールをして、 ハードコピーと OKの動きになりました
なので、keybd_eventの後にSendkeysという組み合わせが良くないのかな?と思っているのですが… 正直よくわかりません
理解不足・説明不足の部分はあるかとは思いますが 解消できそうなところや、 別の方法などありましたら教えてください。
すみません、解決しました。 keybd_eventをどういうものかぼんやり理解してたんですが もう一度ログ読み直してたらわかりました
ハードコピーのキーの解除をしていなかったようで 下記にするとOKでした
keybd_event &H12, 0, 0, 0 keybd_event &H2C, 1, 0, 0 keybd_event &H2C, 0, 2, 0 keybd_event &H12, 0, 2, 0
おさわがせしました
(あや)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.