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

停止時間の設定が難しい

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

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

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

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

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

最適な設定方法とは?

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

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

一時停止だけを使う方法だと以下のようなアクションフローが出来上がります。経費申請をクリックしたら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」を加算します。加算した後のデータを変数「カウンター」へ上書き保存することができます。

アプリ操作でうまくいかないときは(文字マッチング)1

◆マッチング方式を文字にしたときに安定して動かすには

アプリ操作で文字マッチングを使うとき(使わざるを得ないとき)があります。そのときに安定的にロボットを運用するための設定のコツについて説明します。


1.指定する文字は単語にする

ロボットに操作をさせたい文字を指定します。このときになるべく単語で指定するようにしましょう。

いくつかの単語を組み合わせた文字列の場合、ロボットが文字を探すときに毎回文字を同じ場所で区切って読むとは限りません。

たとえば操作する文字を「中継地点」とした場合、ロボットは「中継」/「地点」と読んだり、「中継地」/「点」と読んだりするので、「中継地点」という文字は見つからないとなります。


2.文字を探す個所を指定する

ロボットに探す文字を指定しました。なんどかテストを行ったところ、たまに文字が見つからないというエラーが発生します。毎回発生するわけではありません。

このような場合は、文字を探す場所を指定する方法だと安定してロボットが動くことがあります。

デフォルトの設定では指定した文字をアプリ全体から探します。指定する方法は、文字を探す範囲をドラッグして指定、右クリックしてこの範囲内の指定の文字に対してマウス操作とします

アプリ上に表示されているボタンのラベルなどの構成によっては、アプリ全体をロボットが読み込んだときに、人間が思いもよらないところで文字を区切っていることがあります。そんなときは、この方法で文字を探す設定をします

【その他】受信メールの保存

★アクションの説明、概要

Outlookで受信したメールの本文やまた添付ファイルを、フォルダへ出力する方法について説明しています。

本アクションではあらかじめOutlookへ設定が必要です。こちらを参照してください。

アクションの設定画面を開くときに、OUTLOOKのデータを読み込んでいます。そのため開くまでに時間がかかることがあります。


★アクションの作成方法


★アクションの設定画面について

アクション設定画面の設定項目についての説明は以下の通りです。

件名に含む文字や差出人、対象トレイで保存するメールを設定し、保存したいフォルダを保存先フォルダへ設定します。

1.基本設定

1-1.件名に含む文字

保存したいメールの件名を設定します。件名の一部でも保存対象にできます。変数参照可能です

1-2.差出人

メールの差出人のメールアドレスを設定します。メールアドレスが一部でも欠けていたら保存対象にはなりません。変数参照可能です

1-3.対象トレイ

保存するメールがあるトレイを設定します。変数参照可能です

1-4.保存先フォルダ

出力するメールの本文や添付ファイルを保存するフォルダを設定します。変数参照可能です。またシステム値を使用可能です。システム値の説明はこちら。


2.高度な設定

2-1.保存先について

・差分のみ取得

まだ保存されていないメールのみを保存します。すでに保存済のメールは対象外です

2-2.Outlookについて

・事前に送受信する

アクションを実行する直前に送受信を実行します。受信トレイに入っていないメールも受信してから保存処理を行うことができます

・事前にOutlookを終了する

アクションを実行する前にすでにOutlookが起動していた場合、Outlookを終了します。すでに起動していた場合、アクションが動かないことがあるのを防ぐためです

・受信期間

メールは過去にさかのぼってメールを保存します。さかのぼる期間を設定します。

>昨日以降

アクションを実行した日から1日前のメールから処理します

>1週間前以降

アクションを実行した日から1週間前のメールから処理します

>期間指定無し

過去に受信したメール全てを処理します

2-3.アクション有効

このアクションを無効にする場合は、チェックを外します。


3.エラー発生時の対応

3-1. エラー時の処理

エラーが発生したときの設定を行います。詳細はこちらをご確認ください。

3-2.基点となる条件分岐

エラー時の処理で条件分岐の次のフローに移動を選択したときに、設定することができます。アクションでエラーが発生した場合、移動先の条件分岐を選択します。

3-3. エラー時にログ出力

エラーが発生したときにログに出力するか設定します。スケジュール実行したときのログへ出力されます。エラーとして扱わない場合は、チェックを外します。詳細はこちらをご確認ください。

【その他】メールを下書き保存する

★アクションの説明、概要

メールを送信する方法について説明しています。

メールの宛先(TOやCCなど)が複数の場合、メールアドレスを「,」(カンマ)で区切って入力して下さい。


★アクションの作成方法


★アクションの設定画面について

アクション設定画面の設定項目についての説明は以下の通りです。

1.基本設定

1-1.差出人

送信元のメールアドレスを設定します。変数参照可能です。smtp情報タブのlogin_idにGmailが設定されている場合、受信したメールにはlogin_idが表示されます。

1-2.宛先

送信先のメールアドレスを設定します。変数参照可能です。

1-3.CC

CCのメールアドレスを設定します。変数参照可能です。

1-4.BCC

BCCのメールアドレスを設定します。変数参照可能です。

1-5.Reply-To

Reply-Toのメールアドレスを設定します。変数参照可能です。

1-6.件名

メール件名を設定します。変数参照可能です。またシステム値を使用可能です。システム値の説明はこちら。

1-7.本文

メール本文を設定します。変数参照可能です。またシステム値を使用可能です。システム値の説明はこちら。

・拡大編集

メール本文を別の画面に表示させて編集します。

1-8.添付1

添付ファイルがある場合、添付ファイルのファイルパスを設定します。変数参照可能です。

1-9.添付2

添付ファイルがある場合、添付ファイルのファイルパスを設定します。変数参照可能です。

1-10.添付3

添付ファイルがある場合、添付ファイルのファイルパスを設定します。変数参照可能です。

1-11.添付4(0.10.9から)

添付ファイルがある場合、添付ファイルのファイルパスを設定します。変数参照可能です。

1-12.添付5(0.10.9から)

添付ファイルがある場合、添付ファイルのファイルパスを設定します。変数参照可能です。

添付できるファイルには上限があります

添付ファイルは3つまでです。それ以上送りたい場合は、以下の手順で作成したファイルを添付してください。(バージョン0.10.9から5つまでになりました)

あ)ファイルを1つのフォルダにすべていれる

い)ファイル圧縮と回答アクションでフォルダを圧縮。圧縮ファイルを作成する


2.送信サーバ(SMTP)情報

本アクションを作成した場合、こちらのタブは操作できないようになっています。

2-1.送信(SMTP)サーバ名

送信するメールアドレスのメールサーバを設定します。変数参照可能です(0.10.8から)。

2-2.ポート番号

送信するメールアドレスのメールサーバのポートを設定します。変数参照可能です(0.10.8から)。

2-3.接続の保護

SSLの設定を行います。

・SSLを使用しない

使用しない場合はこちらを選択します。

・SSLを使用する

使用する場合はこちらを選択します。

2-4.ユーザー名

送信するメールアドレスのメールサーバへのログインIDを設定します。変数参照可能です(0.10.8から)。

2-5.パスワード

送信するメールアドレスのメールサーバへのログインパスワードを設定します。変数参照可能です


3.高度な設定

3-1.タイトルをiso-2022-jpをエンコードする

メールの件名を iso-2022-jpをエンコード する場合はチェックを入れます。

3-2.メール送信方式(0.10.9から追加)

メールを送信する方法を選択します。デフォルトはスクリプトからメール送信するになっています。エラーで送信できない場合は、オリジナル方式で送信するで送ってください。

・スクリプトからメール送信する

Windowsの機能を使ってメールを送ります。PCの設定によっては実行が許可されていない場合があります。

・オリジナル方式でメール送信する

JobAutoの独自の機能を使って送信します。

・Outlookを使用してメール送信する ※0.10.10から

Outlookの機能を使用してメールを送信します。送信するためにはOutlookへ設定が必要です。こちらを参照してください。

・Outlookにメールを下書き保存する ※0.10.10から

Outlookの機能を使用してOutlookへメールの下書きを保存します。下書きを保存するためにはOutlookへ設定が必要です。こちらを参照してください

3-3.設定した添付ファイルがない場合 ※0.10.10から

・エラーにしない

メール送信時に添付ファイルに設定されたパスに実際にファイルがない場合でも、エラーになりません。

・エラーにする

メール送信時に添付ファイルに設定されたパスに実際にファイルがない場合、エラーになります。

3-4.アクション有効

このアクションを無効にする場合は、チェックを外します。


4.エラー発生時の対応

4-1. エラー時の処理

エラーが発生したときの設定を行います。詳細はこちらをご確認ください。

4-2.基点となる条件分岐

エラー時の処理で条件分岐の次のフローに移動を選択したときに、設定することができます。アクションでエラーが発生した場合、移動先の条件分岐を選択します。

4-3. エラー時にログ出力

エラーが発生したときにログに出力するか設定します。スケジュール実行したときのログへ出力されます。エラーとして扱わない場合は、チェックを外します。詳細はこちらをご確認ください。

【エクセル操作】重複の削除


★アクションの説明、概要

Excelの重複したデータの削除を行う方法について説明しています。


★アクションの作成方法


★アクションの設定画面について

アクション設定画面の設定項目についての説明は以下の通りです。

1.基本設定

1-1.ブック

ロボットが開いているエクセルのうち、どのエクセルを操作対象にするか選択します。名前とインデックスから選択します。

・名前

エクセル名で指定します。変数参照可能です。

・インデックス

インデックスで指定します。ロボットがエクセルを開いた順番でインデックスが定義されます。

1-2.シート名

ロボットが操作するシートを選択します。名前とインデックスから選択します。
※0.10.10からエクセルを開くアクションでCSVファイルを開いた場合は、デフォルトでインデックスが選択されています。

・名前

シート名で指定します。変数参照可能です。

・インデックス

インデックスで指定します。シートが作成された順番でインデックスが定義されています。

1-3.データ範囲設定

・現在の範囲

処理を行う範囲が対象となるセルの範囲に固定されます。

・範囲を拡張する

処理を行う範囲が処理の都度変わる可能性がある場合は、範囲を拡張するを選択します。

1-4.対象となるセル

処理を行う範囲を設定します。変数参照可能です。

1-5.重複が含まれている列を指定

重複が含まれている列を設定します。データ範囲設定で設定した範囲の一番左の列から1,2,3と数えます。


2.高度な設定

2-1.アクション有効

このアクションを無効にする場合は、チェックを外します。


3.エラー発生時の対応

3-1. エラー時の処理

エラーが発生したときの設定を行います。詳細はこちらをご確認ください。

3-2.基点となる条件分岐

エラー時の処理で条件分岐の次のフローに移動を選択したときに、設定することができます。アクションでエラーが発生した場合、移動先の条件分岐を選択します。

3-3. エラー時にログ出力

エラーが発生したときにログに出力するか設定します。スケジュール実行したときのログへ出力されます。エラーとして扱わない場合は、チェックを外します。詳細はこちらをご確認ください。

【アプリ操作】アプリの起動方法とそれぞれの違いについて

ロボットで操作したいアプリを起動のやり方は3種類あります。それぞれのやり方や注意点についてご説明します。

アプリを開くアクションを使った起動

ロボットで操作するアプリをアプリを開くアクションで起動する方法です。アプリを開くアクションについての説明はこちらです。

プログラムの個所にアプリが保存されているフォルダと実行ファイル名を設定します。

アプリ 起動方法 違い 操作

注意点1.起動できないアプリがある

この方法で起動できないアプリが存在します。その場合は、後述のいずれかの方法で起動してください。

注意点2.PCによってはアプリが保存しているフォルダが違う

ロボットを実行するPCによっては、起動するアプリの実行ファイルが保存されているフォルダが違うことがあります。

注意点3.スケジュール実行で起動したアプリは自動的に閉じられる

スケジュール実行でこの方法で起動したアプリは、スケジュール実行が終わると自動的に閉じられます。接続中のアプリを終了やすべてのアプリを終了アクションを実行しなくても、自動的に閉じられます。


タスクバーの中のショートカットで起動

タスクバーの中にあるアプリのショートカットをクリックして起動する方法です。アプリ接続アクションでタスクバーに接続し、ショートカットをクリックするアクションを実行します。

アプリ 起動方法 違い 操作

注意点1.PCによってはショートカットがないことが

ロボットを実行するPCによっては、アプリのショートカットがないことがあります。ロボットを実行する前に確認し、なければ作成しておきましょう。

注意点2.スケジュール実行で起動したアプリは自動的に閉じられない

スケジュール実行でこの方法で起動したアプリは、スケジュール実行が終わると自動的に閉じられません。閉じたい場合は、接続中のアプリを終了やすべてのアプリを終了アクションを使います。


デスクトップのショートカットで起動

デスクトップにあるアプリのショートカットをクリックして起動する方法です。アプリ接続アクションでデスクトップに接続し、ショートカットをクリックするアクションを実行します。

アプリ 起動方法 違い 操作

注意点1.PCによってはショートカットがないことが

ロボットを実行するPCによっては、アプリのショートカットがないことがあります。ロボットを実行する前に確認し、なければ作成しておきましょう。

注意点2.スケジュール実行で起動したアプリは自動的に閉じられない

スケジュール実行でこの方法で起動したアプリは、スケジュール実行が終わると自動的に閉じられません。閉じたい場合は、接続中のアプリを終了やすべてのアプリを終了アクションを使います。

注意点3.ショートカットが隠れているかも

スケジュール実行を行ったときに、デスクトップのショートカットにほかのアプリがかぶさってしまい、クリックが空振りする可能性があります。常に表示されているデスクトップの位置へショートカットを移動させておきましょう。

【共通部品】指定した日と同じ曜日である昨年の日付を取得する

★共通部品の説明・概要

指定した日の曜日と同じ曜日である昨年の日付を取得します。たとえば指定した日を2022年10月3日とすると、2022年10月4日が取得されます。また日を指定しない場合は、ロボットが実行された日が指定されます。


★共通部品のダウンロード

共通部品はこちらからダウンロードしてください。ダウンロードした共通部品をロボデザインでインポートして使用します。


★共通部品の使い方

1.共通部品へ渡す値

変数「処理日」へ任意の日付を渡します。渡さないことも可能です。渡さない場合、ロボットを実行している日付で処理されます


2.共通部品からもらう値

変数「昨年の同月同日」をもらいます。

【フォルダ操作】更新日時を変更せずにフォルダの移動を行う

1.手順

1-1.robocopyコマンドを実行

コマンドライン実行アクションで以下のコマンドを実行してください。フォルダやファイルの更新日時を保持したままコピーするオプションをつけています。

robocopy 移動元のフォルダパス 移動先のフォルダパス /DCOPY:DAT /NP /E /FFT /R:3 /W:3

以下サンプルコマンドです。移動元フォルダの中のフォルダやファイルが移動先フォルダへコピーされます。

robocopy C:\Users\noguchi\Desktop\テスト\移動元 C:\Users\noguchi\Desktop\テスト\移動先 /DCOPY:DAT /NP /E /FFT /R:3 /W:3

1-2.コピーしたフォルダを削除

フォルダ削除アクションを使って、フォルダを削除します。

2.うまくいかないときは?

2-1.コピー元やコピー先のフォルダの名前にスペースが入っている場合

コピー元のフォルダやコピー先のフォルダを「”」で囲ってください。

コピー元のフォルダやコピー先のフォルダの名前の中にスペースが入っています。この場合、コマンドを実行するとエラーが発生します。
“でそれぞれをかこって実行するとうまくいきました。