2010年1月18日月曜日

'【セミオート塾 メール講座】'第5回:ブラウザ動作の攻略/第6回:起動ウィンドウの操作待ち時間の設定

▼実績No.1で自動化システムを制する!『スペシャル・スクリプト』初心者バージョン
→ http://www.xn--kck7a1b8eug904v.jp/special/index2.html

=============================================================================
愛さん、こんにちは!


前回、

エクセル、メモ帳、
インターネットエクスプローラ(以下IE)のウィンドウの位置を操作しました。

「IEのウィンドウの位置がおかしい?」

正しいですよ。

これから、それを攻略していきますね。

では、早速、講座を始めましょう。

第5回は、【ブラウザ動作の攻略】です。


前回、IEの位置と大きさを指定したスクリプトを動かしたと思います。

ところが、実際には、位置も大きさも変わっていない。


実は、これが今まで自動化をうまく出来なかった原因なのです。


インターネットに接続した場合、すぐに表示されるとは限りません。

時には、遅く、人気のサイトやチケット取りなどでは、

ほとんど、ブラウザの反応がなくなってしまいますよね。


前回、IEの位置と大きさを指定したスクリプトも同様な原因が起こっています。

つまり、サイトにアクセスして、ウィンドウの位置を変える。

しかし、サイトが表示されるまで、ウィンドウの位置が変えられず、

そのまま、スクリプトは終了。


これを攻略する方法です。

例:IE→表示が終了するまで待つ→位置/大きさ指定

これをスクリプトで動かしてみましょう。

スクリプトサンプル
=======================================================
aShell = CREATEOLEOBJ("WScript.Shell");
aShell.run("c:\temp\エクセル.xls");
xlsID = GETID("エクセル")
ACW(xlsID)

Exec("C:\WINDOWS\system32\notepad.exe")
memoID = GETID("メモ帳")
ACW(memoID,100,100)

IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = true
IE.navigate("http://www.xn--kck7a1b8eug904v.jp/")
REPEAT
SLEEP(0.5)
UNTIL !IE.busy AND IE.READYSTATE = 4
semiautoID=GETID("セミオート塾")
ACW(semiautoID,0,0,842,738)
=======================================================


解説
=======================================================
ファイル選択からプログラムを実行させるための形式文
aShell.run("選択するファイルの場所");
ウィンドウを識別するためのID = GETID("選択されたプログラムのウィンドウ名の一部")
xlsIDのウィンドウを表示

Exec("実行するプログラムの場所")
ウィンドウを識別するためのID = GETID("実行したプログラムのウィンドウ名の一部")
memoIDのウィンドウを座標(100,100)に表示

インターネットエクスプローラを実行させるための形式文
インターネットエクスプローラを実行させるための形式文
IE.navigate("参照したいインターネットアドレス")
REPEAT
0.5秒待つ
IEの表示が終わってないならREPEATに戻りなさい
ウィンドウを識別するためのID = GETID("ブラウザのウィンドウ名の一部")
semiautoIDのウィンドウを座標(0,0)、横842/縦738に表示
=======================================================


・REPEAT〜UNTILを入れることで、
 ブラウザの表示待ちをすることが出来ます。

どうですか?

少し、記述方法が難しかったかもしれませんね。

でも、前回のスクリプトと比べてみてください。【繰り返しの勉強方法】

暗号のような部分は、全く同じで構いませんので、、、

この方法は、IEを使う上では、必須になりますので、必ず覚えてください。

(前回のスクリプトと比較すると、とてもに良い勉強になります)

今回の復習をかねて、サンプルを用意しましたので、

こちらからダウンロードして下さいね!


http://www.xn--kck7a1b8eug904v.jp/guest/05windowIE.uws

では、引き続き、次の講座を始めましょう。

第6回は、【起動ウィンドウの操作待ち時間の設定】です。


愛さんは、いろいろなソフトやネットなどで、

反応が遅かったり、処理に時間がかかった経験があると思います。

人にとっては、「遅いなぁ」で済みますが、

自動化ツールには、この判定が分かりません(不可能ではありませんが)。


そこで、スクリプトによる操作ミスを事前に防ぐため、

待ち時間を設定する必要があります。

 例:エクセルファイル→3秒の待ち時間
 例:メモ帳→2秒の待ち時間
 例:IE→ウィンドウ操作時に10ミリ秒の待ち時間/1秒の待ち時間

これをスクリプトで動かしてみましょう。

スクリプトサンプル
=======================================================
aShell = CREATEOLEOBJ("WScript.Shell");
aShell.run("c:\temp\エクセル.xls");
xlsID = GETID("エクセル")
ACW(xlsID)
SLEEP(3.0)

Exec("C:\WINDOWS\system32\notepad.exe")
memoID = GETID("メモ帳")
ACW(memoID,100,100)
SLEEP(2.0)

IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = true
IE.navigate("http://www.xn--kck7a1b8eug904v.jp/")
REPEAT
SLEEP(0.5)
UNTIL !IE.busy AND IE.READYSTATE = 4
semiautoID=GETID("セミオート塾")
ACW(semiautoID,0,0,842,738,10)
SLEEP(1.0)
=======================================================


解説
=======================================================
ファイル選択からプログラムを実行させるための形式文
aShell.run("選択するファイルの場所");
ウィンドウを識別するためのID = GETID("選択されたプログラムのウィンドウ名の一部")
xlsIDのウィンドウを表示
3.0秒待つ

Exec("実行するプログラムの場所")
ウィンドウを識別するためのID = GETID("実行したプログラムのウィンドウ名の一部")
memoIDのウィンドウを座標(100,100)に表示
2.0秒待つ

インターネットエクスプローラを実行させるための形式文
インターネットエクスプローラを実行させるための形式文
IE.navigate("参照したいインターネットアドレス")
REPEAT
0.5秒待つ
IEの表示が終わってないならREPEATに戻りなさい
ウィンドウを識別するためのID = GETID("ブラウザのウィンドウ名の一部")
semiautoIDのウィンドウを座標(0,0)、横842/縦738に表示、10ミリ秒待つ
1.0秒待つ
=======================================================


・各操作に待ち時間を持たせることで、
 安定した操作性を実現することが出来ます。

・ウィンドウ操作の際、位置/大きさのほかに、
 待ち時間も設定することが出来ます。

どうですか?

スクリプトは、原則として、人の操作を再現してくれる優れものです。

したがって、無理に速く動かすよりも、

少しゆとりがあった方が、ミスがなくなります。

どうせ、動かしてしまえば、後はほったらかしですからね、、、

(前回のスクリプトと比較すると、とてもに良い勉強になります)

今回の復習をかねて、サンプルを用意しましたので、

こちらからダウンロードして下さいね!


http://www.xn--kck7a1b8eug904v.jp/guest/06windowIEwait.uws

今日の講座は、ココまでです。

明日は、いよいよ、

 【マウスの操作】
 【キーボードの操作】

の講座になります。

これで、愛さんは、スクリプトにワクワクすると思います(笑)

楽しみにしていてください!


※:ご注意

メール講座が終了すると、自動化スクリプトに関する情報提供も終了致します。

引き続き、スクリプトに関する情報をご希望の方は、【セミオート塾 メールマガジン】をご購読下さい。

メール講座参加者の方々をご招待いたします。

▼【セミオート塾 メールマガジン】のお申し込み(今月のスクリプト無料プレゼント中!)
http://www.xn--kck7a1b8eug904v.jp/mindex.html

▼【セミオート塾 メール講座】購読解除
http://www.xn--kck7a1b8eug904v.jp/join/out.html

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  発行者:セミオート塾 堺 英明
  URL:http://www.xn--kck7a1b8eug904v.jp/
  メール:info▼xn--kck7a1b8eug904v.jp

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

0 件のコメント:

コメントを投稿