プログラムの3つの考え方について解説

RPAはノンプログラミングと世間では言われています。その通り、プログラムコードを書く必要はありません(イレギュラーな処理を行う場合に、どうしても書かざるを得ない場合もあります)。

コードを書かなくてもよいですが、プログラムの考え方をおさえておいたほうがよいでしょう。ロボットの作成を行うときに、この考え方が必ず役に立ちます。

ここではプログラムの3つの考え方、「順次」、「繰り返し」、「分岐」についてご説明します。


順次

順次とは、判断や同じことを繰り返すような作業がない手順です。

日常生活での例

冷蔵庫からペットボトルを出す場合は以下の手順です。

  1. 冷蔵庫を開ける
  2. ペットボトルを出す
  3. 冷蔵庫を閉める
プログラム 考え方 解説

パソコンの作業の例

パソコンへログインする場合は以下の手順です。

  1. IDを入力
  2. パスワードを入力
  3. ログインをクリック

繰り返し

ある一定の回数になるまで、同じことを繰り返す手順です。繰り返す回数は、1回の場合もあれば、複数回の場合もあります。

日常生活での例

棚から皿を5枚出す場合は以下の手順です。ここでは5枚まとめて出すという考え方はしていません。
2の皿を出すという作業を5回行います。

  1. 棚を開ける
  2. 皿を出す
  3. 棚を閉める

ここでのポイントは棚を閉めるという作業は繰り返しの対象にしてはいけないことです。ロボットを作成することに慣れていない場合、棚を閉める作業を繰り返しの対象にしがちです。

繰り返しの対象にしてしまった場合、1回目の皿を出すのあとに棚を閉めるが行われます。そうすると2回目の皿を出すのときに棚が開いていません。

プログラム 考え方 解説

パソコンのエクセルでの作業の例

エクセルにはシートが5つあり、各シートのA1のセルの内容を確認する手順です。
2と3の作業を5回繰り返します。

  1. エクセルを開く
  2. シートを選択する
  3. A1のセルを確認する
  4. エクセルを閉じる

ここでポイントはエクセルを閉じるという作業を繰り返しの対象にしないことです。

繰り返しの対象にしてしまった場合、1回目のA1のセルを確認するのあとにエクセルを閉じるが行われます。そうすると2回目のシートを選択するときにエクセルが開いていない状態になってしまいます。


分岐

条件に沿って判定を行います。判定後に行う作業が枝分かれしている手順です。枝は2つの場合もあれば、それ以上の場合あります。

日常生活での例

帰宅後に部屋の中が寒かったらエアコンをつける場合は以下の手順です。

  1. 玄関のドアを開ける
  2. リビングに入る
  3. 部屋の中が寒いか?
    寒い→4へ
    寒くない→4へ
  4. エアコンをつける
  5. なにもしない
プログラム 考え方 解説

パソコンのファイルの作業の例

フォルダの中にcsvファイルがあったら、別のフォルダへコピーする場合は以下の手順です。

  1. フォルダを開く
  2. XXXX.csvというファイルがあるか?
    ある→3へ
    ない→4へ
  3. 別のフォルダへコピー
  4. なにもしない

まとめ

プログラムの3つの考え方について説明しました。

繰り返しや分岐をロボットに設定を行った場合、アクションフローがどのように動くのかはこちらをご覧ください。

分岐とブックマークでリトライしよう

停止時間の設定が難しい

ボタンをクリックすると別の画面が表示され、その画面内の操作を行うという手順があったとします。

ロボットにこの手順を設定する場合、クリックした後にロボットを一時停止する必要があります。このとき停止する最適な時間を設定できているでしょうか。

処理のたびに時間を変更している

以下の理由で一時停止に設定した時間が経過しても、次の画面が表示されません。当然ロボットの処理でエラーが発生します。停止時間を変更してロボットを再実行するということを、処理のたびに行っていないでしょうか。

  • パソコンの処理速度が重い
  • ネットワークが遅い

最適な設定方法とは?

条件分岐とブックマークアクションを使えば、停止時間をチューニングする必要はありません。以下の画面を例にとって説明します。経費申請をクリックすると、別の画面が開きます。開くまでロボットの処理を停止させないといけません。

分岐 ブックマーク リトライ アプリ

一時停止だけを使う方法だと以下のようなアクションフローが出来上がります。経費申請をクリックしたら60秒待ってから経費申請画面へ接続しています。もし60秒たっても経費申請画面が表示されていなければ、経費申請画面へ接続するアクション(アプリに接続アクション)でエラーが発生します。

分岐 ブックマーク リトライ アプリ

条件分岐とブックマークを使用しリトライする

条件分岐とブックマークを使えば、一時停止する時間を調整する必要はありません。経費申請をクリックして経費申請画面へ接続しようとします。

経費申請画面が表示されていれば、次の値入力アクションが実行されます。表示されていなければエラーとなり、条件分岐の下側のフローの一時停止が実行されます。60秒待機した後、ブックマークへジャンプでブックマークへ進み、再び経費申請画面へ接続しようとします。

分岐 ブックマーク リトライ アプリ

分岐とブックマークでリトライすることによるメリット

リトライには以下のメリットがあります。うまくリトライを使ってください。

  • 停止時間をチューニングする必要がなくなる
  • ロボットにエラーが発生する原因がなくなる
  • 無駄な停止時間がなくなり、ロボットの処理時間が短くなる

メール送信アクションでエラーが起きた時の対処方法

メール送信アクションを実行したときにエラーメッセージが出たときの原因と修正方法をまとめました。

ここに記載のないエラーが発生した、またはここに書いてある修正方法で解決しない場合はサポート担当までご連絡をください。

1.宛先、件名、本文が空白になっているエラー

1-1.エラーの原因

基本設定へ設定した内容が間違っていることが原因で発生したエラーです。

  • 宛先が空白になっている
  • 件名が空白になっている
  • 本文が空白になっている

1-2.修正方法

以下の3点を確認しましょう。

  • 宛先が空白になっていないか。変数参照の場合はアクションを実行したときに変数の中身が空白になっていないか。
  • 件名が空白になっていないか。変数参照の場合はアクションを実行したときに変数の中身が空白になっていないか。
  • 本文が空白になっていないか。変数参照の場合はアクションを実行したときに変数の中身が空白になっていないか。

2.添付ファイルがないエラー

2-1.エラーの原因

添付ファイルへ設定した内容により発生したエラーです。

  • 設定したファイルパスが間違っている
  • アクションを実行したときに設定したファイルが存在していない

2-2.修正方法

以下の2点を確認しましょう。

  • 添付ファイルへ設定したファイルパスが正しいか
  • アクションを実行するときにファイルが存在しているか

3.Smtpサーバが間違っているエラー

3-1.エラーの原因

メール送信アクションのSmtp情報タブへ設定した内容が原因で発生したエラーです。

  • Smtpサーバ名が間違っている
  • Smtpサーバ名が空白になっている
  • ポート番号が間違っている

3-2.修正方法

Smtpサーバが正しいこと、または空白になっていないこと、ポート番号が正しいことを確認しましょう

以下の3点を確認しましょう。

  • Smtpサーバが正しいか
  • Smtpサーバが空白になっていないか。変数参照の場合はアクションを実行したときに変数の中身が空白になっていないか。
  • ポート番号が正しいか

4.ポート番号が間違っているエラー

4-1.エラーの原因

メール送信アクションのSmtp情報タブのポート番号が空白になっていることが原因です

4-2.修正方法

ポート番号が空白になっていないかを確認します。変数参照している場合は、アクションを実行したときに変数の中身が空白になっていないかを確認しましょう。


5.ユーザー名が空白のエラー

5-1.エラーの原因

メール送信アクションのSmtp情報タブのユーザー名が空白になっていることが原因です

5-2.修正方法

ユーザーが空白になっていないかを確認します。変数参照している場合は、アクションを実行したときに変数の中身が空白になっていないかを確認しましょう。


6.ユーザー名が間違っている、またはパスワードが空白か間違っているエラー

6-1.エラーの原因

メール送信アクションのSmtp情報タブへ設定した内容が原因で発生したエラーです。

  • ユーザー名が間違っている
  • パスワードが間違っている
  • パスワードが空白

6-2.修正方法

以下の3点を確認しましょう。

  • ユーザー名が正しいか
  • パスワードが正しいか
  • パスワードが空白になっていないか。アクションを実行したときに変数の中身が空白になっていないか。

変数とは?ロボットが使う変数について解説します

エクセルのデータをシステムに入力する作業をロボットに設定するなど、ほとんどのロボットでは変数を使用します。変数を理解し、変数をうまく使うことでロボット作成が上達します。

変数とは?

よく変数とは箱やポケットのようなものだ、と説明されることが多いです。ポケットと考えるとわかりやすいとおもうので、以下ポケットを例に説明をします。

データを保存できる(ポケットへ鍵をいれる)

ポケットへ鍵をいれるように、変数にもデータを入れる、保存することができます。

たとえばエクセルのセルA1から取得したデータを変数へ保存することができます。

変数 ロボット 解説
変数へ保存

データを取り出す(ポケットから鍵を取り出す)

ドアを開けるときにポケットから鍵を取り出すように、変数も変数に入っているデータを必要な時に取り出すことができます。

鍵を取り出すときに右側のポケットとポケットを指定します。同じように変数からデータを取り出すときも、変数の名前を指定します。

変数 ロボット 解説
変数から取り出す

新しく作成できる(ポケットを増やす)

ポケットの数が足りなくなったら、ポケットを増やします。

それと同じように変数も足りなくなったら新しく作成して増やすことができます。

作成した変数には名前を付けましょう。変数にデータを保存するときは、名前を指定して保存します。このデータをXXXという名前の変数に保存する、というイメージです。

変数 ロボット 解説
変数を作成する

複数持てる

変数はいくつでも作成することができます。作成できる変数の数に上限はありません。

変数の上手な使い方

関数の結果を変数へ保存する

JobAutoには様々な関数が用意されています。たとえば、月末の日付を取得する関数を実行します。この実行結果をたとえば変数「月末日」へ保存することができます。

中身を加工してほかの変数へ保存する

たとえば変数「日付」に、「20231204」というデータが保存されていたとします。このデータへ、「.xlsx」という文字をくっつけて「20231204.xlsx」というデータにします。加工後のデータを変数「ファイル名」へ保存することができます。

中身を加工して変数へ上書き保存する

たとえば変数「カウンター」に、「0」というデータが保存されていたとします。このデータへ、「1」を加算します。加算した後のデータを変数「カウンター」へ上書き保存することができます。