3ステップでできる!SikuliXをスケジュール実行する方法
定型業務の中には日次、週次など定期的に行われるものがたくさんあります。そのような業務を自動化したときに怖いのは実行を忘れることでしょう。しかし、自分で自動化プログラムを実行することなく、決まった日時に自動起動できたら忘れる心配はありません。
本記事では、Windowsのタスクスケジューラを使い、SikuliXのプログラムを指定した時間に実行する方法をご紹介します。3ステップで簡単に実現可能なので、試してみてください。
※本記事ではWindows10、SikuliX 1.1.4を使用しています。
※作成するファイルは全て「C:\work」フォルダに保存するものとします。
目次
【Step1】実行したいSikuliXプログラムを構築する
まずは、実行したいSikuliXプログラムを構築しましょう。開発画面上でプログラムを作成し、保存してください。
今回は例として、ポップアップを表示するだけのプログラムを作成し「test」という名前で保存しました。プログラムを実行すると、ポップアップが表示されます。
【Step2】SikuliX実行バッチを作成する
Step2では、プログラムを実行するためのファイル(batファイル)を作成します。Step1では作成したプログラムを開発画面上で実行しましたが、batファイルをダブルクリックするだけでプログラムを実行できるようになります。
テキストエディタなどで新しく「test.bat」というファイルを作成してください。その中にSikuliXプログラムを起動するコマンドを記述し、保存します。
call java -jar [sikulix.jarファイルのパス] -r C:\work\test.sikuli
test.batをダブルクリックしてみましょう。SikuliXプログラムが起動し、ポップアップが表示されます。
【Step3】タスクスケジューラに登録する
Step2で作成したbatファイルをタスクスケジューラに登録することで、SikuliXプログラムをスケジュール管理できます。
まずは、タスクスケジューラを開きましょう。タスクバーの検索ボックスで「タスクスケジューラ」と検索します。
タスクスケジューラを開いたら「タスク スケジューラ ライブラリ」を右クリックし、「基本タスクの作成」を選択します。
タスク作成ウィザードが表示されるので、順番に入力します。自分でわかりやすい名前と説明を入力して「次へ」をクリックしてください。
次はトリガーの選択です。プログラムの実行頻度を設定することができます。ここではテストのため「1回限り」を選択します。「毎日」や「毎週」を選択することで、定期実行も可能です。
プログラムの実行日時を指定し、「次へ」をクリックします。
「プログラムの開始」にチェックがついていることを確認し、「次へ」をクリックします。
実行するプログラムを設定する画面が表示されます。「参照」ボタンをクリックし、Step2で作成したbatファイルを選択してください。オプションは空白のままで大丈夫です。
最後に設定したトリガーや操作に間違いがないか確認し、「完了」をクリックして登録します。設定した時間でSikuliXプログラムが起動し、ポップアップが表示されれば成功です。
スケジュール実行を行う上での注意点
SikuliXはマウス操作やクリック処理などを自動化するので、SikuliXプログラムが動作している間は基本的にPCを操作できない点に注意してください。別の業務中にSikuliXプログラムがスケジュール起動すると作業の妨げになります。
よって、SikuliXプログラムを自動起動する場合は、以下のようなポップアップを表示し、「OK」がクリックされたときに自動化処理を開始するなどの工夫をしましょう。
ポップアップを使った実行タイミング制御の例
answer = popAsk(u"〇〇プログラムを実行しますか?\n※プログラムを実行中はパソコンの操作を中断してください。", u"SikuliX")
if answer:
# 自動化処理実行
else:
popup(u"プログラムの実行を中断しました。")
exit()
まとめ
SikuliXはタスクスケジューラを使うことで、プログラムをスケジュール実行することができます。スケジュール管理を行えば、プログラムの実行忘れを防げます。
しかし、SikuliXプログラムが動作している間は基本的にPCを操作できないことに注意してください。勝手にパソコンが動いて困らないように、ポップアップを表示してから実行するなどの工夫が必要になります。