先日のmortscript と POSyncでアドエスにカレンダーを取り込むの続き。
先日の記事にもリンク張りましたが、blog vafeeさんのスクリプトをベースに、
「2ch.net の 【array[2] = 】MortScriptスレ」の270の人による
前略
Run(exe2)
WaitForActive(title2,20)
SendLeftSoft(title2)
Sleep(wait)
SendKeys(title2, “D”)
Sleep(wait)
SendLeftSoft(title2)
Sleep(wait)
SendKeys(title2, “A”)
Sleep(wait)
SendLeftSoft(title2)
SendKeys(title2, “P”)
・・・このようなかたちでスクリプトを組んだところ、他のカレンダー一覧からすすみませんでした。
「とーふの買い物日記-改」の情報
他のカレンダーの取り込みは、”他のカレンダー” になると思います。参考までに、該当ソース部分を抜き出しました。
this.Name = “FormOtherCalendar”;
this.Text = “他のカレンダー”;
(2008.05.15 22:10:05)
辺りをひっぱってきて組み合わせると出来た。
###################
# autoPOsync.mscr #
###################
title1 = “POremover”
exe1 = “\prog\poremover\POremover.exe”
title2 = “POsync”
exe2 = “\Program Files\POsync\POsync.exe”
title3 = “他のカレンダー”
wait=10
If(WndExists(title2) = 1)
Close(title2)
# アプリが終了するまで待機
Sleep(3000)
EndIf
# POremover.exeでモバイル側を今日以後の全て削除
Run(exe1)
WaitForActive(title1,3)
If(Screen(”landscape”) = 1 )
# 横長時
x = 235
y = 135
Else
# 縦長時
x = 245
y = 135
EndIf
MouseClick(title1, x, y - 50 )
SendEnd(title1)
SendCR(title1)
x = 370
y = 315
MouseClick(title1, x, y - 50 )
WaitForActive(”確認”,3)
SendOK (”確認”)
Sleep(3000)
Close(title1)
# POsync.exeでコピー
Run(exe2)
WaitForActive(title2,3)
SendLeftSoft(title2)
Sleep(wait)
SendKeys(title2, “C”)
Sleep(wait)
# 閉じる
#SendLeftSoft(title2)
#SendKeys(title2, “P”)
#他のカレンダーの予定の取り込みへ
WaitForActive(title2,20)
SendLeftSoft(title2)
Sleep(wait)
SendKeys(title2, “D”)
WaitForActive(title2,3)
#2番目のカレンダーをコピー
SendCR(title3)
SendDown(title3)
SendCR(title3)
SendLeftSoft(title3)
Sleep(wait)
SendKeys(title3, “A”)
Sleep(wait)
#さらに3番目のカレンダーをコピー
MouseClick(title3, 245, 85 )
#SendCR(title3)
SendDown(title3)
SendCR(title3)
SendLeftSoft(title3)
Sleep(wait)
SendKeys(title3, “A”)
Sleep(wait)
#さらに9番目のカレンダーをコピー
MouseClick(title3, 245, 85 )
#SendCR(title3)
SendDown(title3)
SendDown(title3)
SendDown(title3)
SendDown(title3)
SendDown(title3)
SendDown(title3)
SendCR(title3)
SendLeftSoft(title3)
Sleep(wait)
SendKeys(title3, “A”)
Sleep(wait)
# 閉じる
SendLeftSoft(title3)
SendKeys(title2, “C”)
WaitForActive(title2,3)
SendLeftSoft(title2)
SendKeys(title2, “P”)
出来たのはいいけど、弱点としては、
- 新しくカレンダーを登録するたびにソースを書き換える必要がある
- キーロック中は自動実行されない
- まだ「WaitForActive」とか「Sleep(wait)」をいつ入れるのが適切か理解していない
- 元のスクリプトには終了処理が無かったのだけど、理由がわからない
などなど。なんとかキーロック中に自動実行するようにして勝手に最新の予定に更新されるようにしたいのだけど……。