無料のオープンソースRPA「SikuliX」を使って、楽しくプログラムが理解できるコーナーです。今回はロボにテキストファイルを開かせて、「Hello」と書き込ませる簡単なロボを作ってみましょう。パソコン作業をすべて自動化できるRPAの威力を実感することができますよ!しかも、これは「順次処理」と呼ばれる立派なプログラムです。
この連載ではRPAの基本を解説すると同時にプログラミングの基礎も解説しています。どちらも同じ原理だからです。今回は1番目の順次処理を解説しながら、RPAでよくあるパターンもマスターします。
まだ、SikuliXをインストールしていない方は以下の記事を参考にして環境のセットアップを完了させてください。
≫過去の記事一覧【RPA超入門】
まず、準備しましょう
準備は4つありますよ。カンタンですので、一つひとつやっていきましょう。
準備1:Hello.txtを手で作ってください
デスクトップの上で右クリック→新規作成(図1❶)→テキストファイル(図1❷)をクリックしてください。
図1 Hello.txtの作成
「新しいテキスト ドキュメント.txt」というテキストファイルができますので、ファイルの名前を「Hello.txt」に変えてください(図2)。
図2 Hello.txtの完成
準備2:SikuliX1.1.1を起動しておいてください
エクスプローラでC:¥RPAを開いてrunsikulix.cmdを見つけてください( 図3 )。これをダブルクリックすれば(図3❶)、SikuliXの開発画面が立ち上がります(図3❷)。
図3 SikuliX開発画面
準備3:SikuliXの設定の確認をします
コマンドリストの「設定」の右横にある下向き矢印をクリックしてください(図4❶)。
コマンドリストなどの画面の名称は以下のページを参照してください。
設定のボックスが開き、中に「自動的にキャプチャモードへ移行」が見えますので、チェックボックスにチェックが入っていることを確認してください(図4❷)。チェックが入っていない場合は、チェックしてください。なぜこれにチェックをつけるのかは後で説明します。
図4 SikuliXの設定を確認
準備4:保存用のフォルダを作っておいてください
「C:\RPA」というフォルダが既に作成されているはずです。その下に「JB1001」というフォルダを作成してください。これで準備は完了です。
ロボの開発をはじめます
ダブルクリックコマンドをクリックします
コマンドリストのマウスの動作のボックスの中に「doubleClick」がありますので、これをクリックします(図5)。このとき、このサイトを開いたまま作業をしていると思います。
Hello.txtはデスクトップ上にありますので、隠れないようにしておいてください。SikuliX開発画面は「doubleClick」をクリックすると最小化されてデスクトップ画面から消えますので、あまり気にする必要はありません。
図5 コマンドリスト「マウスの動作」
画面が暗くなり、SikuliXの開発画面が消えて、範囲選択できるようになります。デスクトップ上のHello.txtを左クリックを押したまま範囲選択してください(図6)。
開発作業に慣れてくると、「毎回キャプチャーモードに移行させずにプログラムだけを先に生成して、あとからまとめてキャプチャーしたい」というニーズも出てきます。そのときは「自動的にキャプチャモードに移行」のチェックを外してくださいね。
赤点線のクロスする部分に対して、ダブルクリックが行われますので、クロスする部分を意識して選択してください。
図6 ダブルクリック位置を選択
選択したら、左クリックを離してください。画面が明るくなり、SikuliXの開発画面が表示されます。
プログラムが生成されていることを確認しましょう
ソースコードウィンドウに「doubleClick(選択した画像)」というプログラムが自動的に生成されているでしょう(図7)。ちなみに、doubleClickの最初に出てくるCは大文字であることを覚えておいてください。このプログラムは直接手で記述することもできるのですが、大文字と小文字を間違えると動きませんから。
図7 自動生成されたプログラム
一度、保存しましょう
この段階で、プログラムを保存しておきましょう。ちなみにいつ保存しても構いません。プログラムを作成し始める前でもいいですよ。まめに保存するよう意識して、せっかく作ったプログラムを失ってしまわないように気を付けてくださいね。
メニュー「ファイル」をクリックし(図8❶)、「保存」をクリックします(図8❷)。
図8 メニュー「ファイル」
「Save a Sikuli Script」ダイアログがポップアップしますので、「C:\RPA\JB1001」を開いてください。フォルダ「JB1001」は準備4で作成したものです。
フォルダ名のボックスに「C:\RPA\JB1001」と書いてあるはずです。その後ろに「\JB100101」と書き加えてください(図9➊)。「C:\RPA\JB1001\JB100101」となったら、「Save」をクリックします(図9➋)。これで保存されました。
図9 保存ダイアログ
一度、実行しましょう
ここまでできたら、一度プログラムを実行してみましょう!実行するときに気を付ける点は、SikuliXの開発画面以外の余計なウィンドウを開いておかないことです。画像イメージを使いますので、余計なものがあれば、目的の画像を探せなくなってしまいます。
リボンにある「実行」をクリックします(図10)。
図10 実行
SikuliX開発画面がデスクトップから消え、マウスが動いて、Hello.txtのところに移動しましたよね?そして、メモ帳が開いたと同時にSikuliX開発画面が表示されましたね(図11)?ちょっと、動きが早かったですか?
もう一度実行するときは、Hello.txtを手動で終了させてから実行してくださいね。
図11 実行後の画面
続きをやっていこう
さて、このページのテーマは「ロボに英語であいさつを書かせてみよう」ということです。いま、開いたHello.txtに「Hello」と打ち込ませるところまで、やってみましょう!
コマンドリストは使わず、直接ソースコードウィンドウに下記のプログラムを打ち込んでください。
sleep(3)
type("Hello")
sleep(3)
図12のようになります。
図12 ソースコードウィンドウ
sleep()は、カッコの中の秒数だけ止まって待つ、というプログラムです。SikuliXの処理が早く動きすぎると、メモ帳が開いたりする動作の方がついていけなくなってしまうので、少しゆっくりするために使います。
4行目のsleep(3)は、「Hello」と打ち込まれたあと、一瞬で処理が終わってしまうので「落ち着いて処理結果を見る」ためです。カッコの中の秒数を変更して、好みの時間に調整しても大丈夫ですよ。
typeはキーボードをタイプする代わりをするプログラムです。今回は直接入力してもらいましたが、コマンドリストを使って自動的に入力することもできます(図13)。プログラムに慣れてきたら、typeのような短いプログラムはマウスを使うより、直接記述した方が早いかもしれません。
図13 コマンドリスト「キーボードの動作」
もう一度実行しよう
実行方法を忘れてしまった方は図10を振り返ってくださいね。そして、実行前に保存してください。メニュー「ファイル」→「保存」です。コントロールキーとSキーを同時に押しても同じように保存できます。
実行すると、図14のようにメモ帳に「Hello」と書き込まれますね。そして、3秒待ってプログラムが終了します。ここまでで「ロボに英語であいさつを書かせてみよう」の回は完了です!
図14 実行結果
このページで学んだことは?
今回のプログラムの動きはこうです。
デスクトップ上のテキストファイルを開く
↓
ちょっと待つ
↓
「Hello」とタイプする
↓
ちょっと待つ
ただ順番に実行しただけですが、これはプログラムの基本処理の1つ 「順次処理」 と呼ばれています。カンタンですが、基本中の基本ですので、しっかりと押さえておきましょう!
おまけ
おまけ1~プログラムにはコメントを入れよう~
暗号のようなプログラムを読んでも、何の処理が行われるのか分かりませんよね?書いた本人も分からなくなることも、よくあります。ましてや、他人ならなおさらです。そこで、何のプログラムなのかを書き残しておこう、というのがコメントです。
SikuliXの場合、Pythonというプログラム言語のルールに従います。
# コメント
プログラム
という書き方です。
「#(シャープ)」を文の最初に付けるとコメントと認識される、というわけです。これを使って、このページのプログラムにコメントを付けておきましょう。図15のように入れます。
コメントは4行目のように、プログラムの後ろに書いてもいいです。ただし、長いプログラムの後ろにコメントを書いてしまうと、画面の右端の方に寄りすぎて、見づらくなってしまいます。また、見やすいように段落を空けるのも自由です(3、5、8行目)。
図15 コメントを付けたプログラム
というわけで、コメントもプログラムのうちです。なるべく見やすく分かりやすいプログラムを書くようにしましょうね!
おまけ2~コメント機能の達人になろう~
コメントの機能を使ったテクニックを解説します。コメントは解説を書き込むだけではなく、プログラムを修正するためにも使えます。
図16のように、9行目のプログラムを修正したい(実行したくない)とき、9行目を直接変更したり、消してしまうのではなく、コメントにしてしまいます。このことを「コメントアウトする」とか「コメントにする」とか言います。
そして、10行目のように、変更したプログラムを書きます。
図16 コメントアウトを使ったプログラム修正
これは、どんな修正をしたのか記録として残しておくためです。あとで、変更場所が原因でプログラムが動かなくなったとき、修正履歴が残っていれば、もとに戻すことができますよね。
このような、コメントを使ったテクニックは、プログラム開発には重要ですので覚えておいてください。
おまけ3~保存したプログラムの開き方~
このページで作ったプログラムをちゃんと保存して、SikuliX開発画面を閉じたあと、またプログラムを開くときの手順を解説します。このページのプログラムは「C:\RPA\JB1001\JB100101.sikuli」という場所に保存されているはずです。
まず、SikuliX開発画面を起動します。エクスプローラでC:¥RPAを開いてrunsikulix.cmdを見つけてください(図17)。これをダブルクリックすれば❶、SikuliXの開発画面が立ち上がります❷。
図17 SikuliX開発画面の起動
SikuliX開発画面のメニュー「ファイル」をクリックし、「開く」をクリックします(図18)。
図18 メニュー「開く」をクリック
「Open a Sikuli Script」ダイアログが開きますので(図19)、「JB100101.sikuli」をクリックします❶。ファイル名に「JB100101.sikuli」と表示されますので❷、「Select」をクリックします❸。
図19 「Open a Sikuli Script」ダイアログ
SikuliX開発画面のソースコードウィンドウに「JB100101」が表示されます(図20)。「無題」は必要ないので、「×」をクリックして閉じてください。これで保存したプログラムの開き方の解説は終わりです。きちんと開けましたか?
図20 SikuliX開発画面
ファイルが見つからない、開けないという方はエクスプローラーで「C:\RPA\JB1001\JB100101.sikuli」があることを確認してください(図21❶)。そして、中に3つのファイルがあることを確認してください❷。「JB100101.py」がプログラムが入っているファイルですので、このファイルが無いとSikuliX開発画面では開けません。ちなみに「*.png」はキャプチャした環境によって名前が変わります。
図21 JB100101.sikuliの保存場所
関連ページ
Topトップページ>>次のページ
- 投稿タグ
- SikuliX