【第4回】SikuliXで繰り返し処理を学ぼう

RPA超入門
こさい
こさい

こんにちは。完全自動化研究所の小佐井です。
RPAとプログラミングの基礎を身に付ける連載の第4回です。

Sikuliで学ぶRPA超入門の第4回です。いままで、「Hello」と1回だけ入力させていましたが、今回は5回書かせます。プログラム基礎構造の最後章「繰り返し処理」です。

この記事は第3回目の続きとなっています。第3回目を実践していない方は次の記事をお読みください。

それでは、どうぞ!

この記事を書いた人
この記事を書いた人
こさい
こさい

(株)完全自動化研究所代表のこさいです。

1) エンジニア歴25年超。開発から業務改善まで幅広く経験してきました
2) 複数の企業においてRPAのコンサルティングを行っています
3) RPA関連の書籍を5冊出版しています

  1. オープンソースで作る!RPAシステム開発入門
  2. 実務者のための失敗しないRPAシナリオ設計入門
  3. UiPath業務自動化最強レシピ
  4. WinActor業務自動化最強レシピ
  5. Power Automate for desktop業務自動化最強レシピ

繰り返し処理を学ぼう

こさい
こさい

さっそく開発を始めていきましょう!
まずは準備です。

まず準備をしましょう

準備1:別名で保存しましょう

前回で使ったプログラムを変更して使いますが、区別するために別名で保存します。SikuliX開発画面のメニュー「ファイル」をクリックし(図1➊)、「名前を付けて保存」をクリックします(図1❷)。

【Hint】前回の続きではない場合

図1 名前を付けて保存

図2のポップアップが出るはずです。

図2 保存ダイアログ(1)

フォルダ名に「JB100104」と書き加えて(図3➊)、「Save」をクリックしてください(図3➋)。

図3 保存ダイアログ(2)

準備2:余計なファイルを削除しましょう

前回、日時を付けてファイルを保存したので、いくつかファイルがデスクトップ上にできているはずです。今回のプログラムにとっては邪魔なので「Hello.txt」以外のSikuliXが作ったテキストファイルは削除してください(図4)。

図4 デスクトップ上のファイル

ロボの開発を始めます

プログラムを書こう

13行目の「type(“Hello”)」をコメントアウトしましょう。そして、14行目からリスト1のプログラムを記述してください。


num = 0
while num < 5:
    type("Hello")
    type(Key.ENTER)
    num += 1

リスト1 繰り返し処理

15行目の「while num < 5:」を入力してEnterキーを押すと、16行目は右側にインデント(字下げ)されるはずです。できましたか?SikuliXのソースコードウィンドウで見てみるとリスト2のようになっているはずです。

リスト2 現在のプログラム

Program解説

14行目の「num = 0」は、前回のページの変数を理解していれば、わかりますね。「num」というのは変数です。変数numに0(ゼロ)を入れた(代入した)ということになります。

15行目の「while num < 5:」は、whileの後の条件式「num < 5」が「真」である間は繰り返して実行しますよ、ということです。「真」?中学生のときに習ったような??という方多いと思います。もう少し噛み砕いて言うと、「変数numが5より小さい間は繰り返す」ということです。

繰り返されるプログラムはリスト3の青枠部分になります。インデントしている部分はwhileの影響を受けて、繰り返し処理されます。

リスト3 while文の説明

 

リスト3の青枠部分のプログラムを一つずつ見ていきましょう。

  1. Helloとタイプする
  2. Enterキーを押す
  3. 変数numに1を足す

3番目に変数numに1を足すということはどういう動きになるでしょう?最初0がnumが入っています(13行目)ので、繰返し1回目ではnumには1が代入されます。2回目には2が代入され、、というわけです。

【Hint】変数numに1を足す

変数numに数値を足しながら増やしていくことを「インクリメントする」と言います。

他のプログラム言語では「num = num + 1」と書く場合もあります。これでは長いので、Pythonでは「num += 1」と書けるようになっています。

逆に数値を減らしていく場合は「num -= 1」と記述します。

【Hint】インデントで影響範囲を表す

リスト3のようにインデントでwhileの影響範囲を表現するのがPythonの特徴です。他のプログラム言語では()や{}で囲うことで表現することが多いです。

他の多くのプログラム言語では、Pythonのように強制的にインデントしなくてはいけない、ということがないので、「読みづらくなる」こともあります。

実行しよう

今回書くプログラムはこれだけです。しっかりとプログラムを保存してから実行してください。「Hello.txt」をダブルクリックしてメモ帳が開くと、続けて「Hello」が5回入力されます(図5)。別名で保存されて、メモ帳が閉じたら完了です。

図5 メモ帳にタイプされた状態

まとめ

このページでは繰返し処理を学びました。同時に変数も使いました。短いプログラムでしたが、とても重要なことが詰まっています。これで、プログラムの基本構造3つ「順次処理」「条件分岐」「繰り返し処理」を網羅したことになります!おめでとうございます!

SikuliXで学ぶRPA超入門の他の回はこちらです。

タイトルとURLをコピーしました