|
IEの連続保存で、以下を試してみました。 保存できない頁の回避を最初に書きましたが、通常頁の処理に対してもかなり遅くなってしまいました。 最初のIF文を除外すると早いのですが、その場合はエラーで止まってしまうので、監視が必要になります。 エラー回避の記述のスマートな方法をお教え頂けませんか? 宜しくお願いします。
IE.navigate(URL) SCKEY(GETID("Internet Explorer"), VK_ALT, VK_F, VK_A) sleep(0.1)
IFB GETID("Web ページの保存エラー") > 0 CLKITEM(GETID("Web ページの保存エラー"), "OK")
ELSEIF GETID("Web ページの保存") > 0 CLKITEM(GETID("Web ページの保存"), "デスクトップ") SCKEY(GETID("Web ページの保存"), VK_ALT, VK_N) SENDSTR(GETID("Web ページの保存"), FNAME) SCKEY(GETID("Web ページの保存"), VK_ALT, VK_T) CLKITEM(GETID("Web ページの保存"), "Web ページ、HTML のみ (*.htm;*.html)") CLKITEM(GETID("Web ページの保存"), "保存") SLEEP(0.1)
ELSEIF GETID("コピーを保存") > 0 CLKITEM(GETID("コピーを保存"), "デスクトップ") SCKEY(GETID("コピーを保存"), VK_ALT, VK_N) SENDSTR(GETID("コピーを保存"), FNAME) CLKITEM(GETID("コピーを保存"), "保存") SLEEP(0.1)
ELSE y = y + 1 ENDIF
IE.navigate(URL) SCKEY(GETID("Internet Explorer"), VK_ALT, VK_F, VK_A) sleep(0.1)
IFB GETID("Web ページの保存エラー") > 0 CLKITEM(GETID("Web ページの保存エラー"), "OK")
ELSEIF GETID("Web ページの保存") > 0 CLKITEM(GETID("Web ページの保存"), "デスクトップ") SCKEY(GETID("Web ページの保存"), VK_ALT, VK_N) SENDSTR(GETID("Web ページの保存"), FNAME) SCKEY(GETID("Web ページの保存"), VK_ALT, VK_T) CLKITEM(GETID("Web ページの保存"), "Web ページ、HTML のみ (*.htm;*.html)") CLKITEM(GETID("Web ページの保存"), "保存") SLEEP(0.1)
ELSEIF GETID("コピーを保存") > 0 CLKITEM(GETID("コピーを保存"), "デスクトップ") SCKEY(GETID("コピーを保存"), VK_ALT, VK_N) SENDSTR(GETID("コピーを保存"), FNAME) CLKITEM(GETID("コピーを保存"), "保存") SLEEP(0.1)
ELSE y = y + 1 ENDIF |
| DATE:2010/7/30(Fri) 17:09
No.3157 |
|
|
|
GETID()関数に待ち時間秒(3番目の引数)を指定したみたら。 0.01とか。
|
|
DATE:2010/7/30(Fri) 23:15
|
|
|
|
>エラー回避の記述のスマートな方法をお教え頂けませんか? スマートな方法の基準は曖昧なので、動作が速く分りやすく比較的短い事とします。
スピードに関しては太郎さんの意見に同意ですが、IEのダイアログ関連は全体に反応が遅くタイミングが掴み辛いでしょう。 また、ELSEIFとGETIDの多用は、構造が分りにくくなると思います。
単純に、ダイアログを待ち、そのタイトルで処理を振り分ければ良いのでは? |
|
DATE:2010/7/31(Sat) 07:09
|
|
|
|