★質問・概要
Q.JobAutoの変数グループは、ロボット内・プロジェクト内・すべてのロボットのうち、どの範囲で有効ですか? また、どのような基準でグループを分ければよいですか?
★回答
変数グループが有効なのは、その変数グループを作成したロボットの中だけです。同じプロジェクトにある別のロボットや、別プロジェクトのロボットから自動的に参照されることはありません。
変数グループは、処理対象のExcelファイルごと、または「受注データ」「ファイルパス」「処理制御」など用途ごとに分けると、変数が増えたときも管理しやすくなります。
1.変数グループの有効範囲
| 対象 | 扱い |
|---|---|
| 変数グループを作成したロボット | グループに所属する変数を使用できます。 |
| 同じプロジェクトの別ロボット | 変数グループや値は、自動的には共有されません。 |
| 別プロジェクトのロボット | 変数グループや値は、自動的には共有されません。 |
| 変数のエクスポート・インポートを利用した場合 | 変数グループや変数の定義を別のロボットへ移して利用できます。 |
たとえば、プロジェクト「受注処理」にロボットAとロボットBがあっても、ロボットAに作成した「受注データ」グループが、ロボットBにも自動的に作成されるわけではありません。
注意:エクスポート・インポートは変数や変数グループの定義を別のロボットに利用するための機能です。ロボット間で実行中の変数の値をリアルタイムに共有する機能とは異なります。
2.Excelの処理対象ごとに変数グループを分ける
複数のExcelファイルを読み取るロボットでは、処理するファイルや表ごとに変数グループを分ける方法があります。
| 変数グループの例 | 変数名の例 | 用途 |
|---|---|---|
| 受注データ | 受注_番号、受注_数量、受注_金額 | 受注一覧.xlsxの行の繰り返し |
| 商品マスタ | 商品_コード、商品_名称、商品_単価 | 商品マスタ.xlsxの行の繰り返し |
| 処理結果 | 処理_件数、処理_エラー数 | 集計やエラー管理 |
「行の繰り返し」アクションには、Excelの列名から変数を登録する機能があります。このとき作成先の変数グループ名や変数の識別子を指定できます。複数のExcelで同じ「コード」「名称」などの列名が使われている場合は、変数の識別子も利用し、変数名が重複しないようにしてください。
具体的な設定は、JobAutoでExcelの行を繰り返し処理する方法(ヘッダーあり)をご確認ください。
3.変数の用途ごとにグループを分ける
Excel以外の処理でも、値の役割ごとに整理するとロボットを保守しやすくなります。
| 変数グループの例 | 格納する内容 |
|---|---|
| ファイル管理 | 取込ファイルパス、出力フォルダ、保存ファイル名 |
| Web取得データ | Webサイトから取得した注文番号、担当者名 |
| 処理制御 | カウンター、エラーフラグ、処理結果 |
| メール送信 | 宛先、件名、本文 |
変数グループの名前は、「変数1」「変数2」のような番号ではなく、何のための変数をまとめているかが分かる名前をおすすめします。一方、変数が数個しかない簡単なロボットなら、無理に細かく分ける必要はありません。
4.異なる変数グループでも、変数名は重複できない
変数グループは、同じ名前の変数を別々に管理するための名前空間ではありません。JobAutoでは、変数名はロボット内で重複しないようにします。
例えば「受注データ」グループと「商品マスタ」グループの両方に「コード」という同名の変数を作るのではなく、「受注_コード」「商品_コード」のように変数名を分けてください。
同名の変数を作ると、既存の変数が別グループに移動したように見えたり、設定済みの初期値が変わったりする場合があります。詳しくは、JobAutoで新しい変数を作成すると既存の変数が消える場合をご確認ください。
5.別のロボットでも同じ変数構成を使いたい場合
ほかのロボットで同じ変数グループや変数の定義を使いたい場合は、JobAutoの変数のエクスポート・インポート機能を利用できます。この機能はJobAuto 0.10.7で追加されています。
- コピー元のロボットで、必要な変数グループや変数を確認します。
- 変数のエクスポート機能で定義を出力します。
- コピー先のロボットでインポートし、変数グループ・変数名・初期値などの内容を確認します。
- 既存の変数と名前が重複しないか確かめ、関連するアクションをテストします。
インポート後に、コピー元とコピー先のロボットの変数値が同期されるわけではありません。また、同じ変数名がすでに存在する場合は、保存前に定義の重複や初期値の変更がないか確認してください。
6.グループ単位で変数を初期化する場合の注意点
JobAutoには「変数グループ初期化」アクションがあります。指定したグループ内の変数をまとめて初期値へ戻す機能です。
例えば、Excelの次のファイルを処理する前に、一時的な取得値をまとめて初期化したい場合に利用できます。ただし、初期化したくないカウンターや処理結果の変数まで同じグループへ入れないようにしてください。用途ごとにグループを分けると、初期化の対象も管理しやすくなります。
7.変数グループを分けるときの確認事項
- 同じロボット内で管理する変数か、別ロボットでも使いたい定義か。
- Excelなどの処理対象ごとに分けたほうが分かりやすいか。
- グループ名を見るだけで、変数の用途が分かるか。
- 異なるグループ間でも変数名が重複していないか。
- グループ初期化を行ったとき、保持したい値まで初期化されないか。
関連するマニュアル・FAQ
- JobAutoの変数とは|値の保存と参照の基本:変数の役割とグループの基本
- JobAutoのロボット作成基礎:「2-13.変数グループを作成する」の操作案内
- JobAutoでExcelの行を繰り返し処理する方法:列名から変数を作成する場合のグループ名・識別子
- JobAutoで新しい変数を作成すると既存の変数が消える場合:同名変数の制約
- JobAuto 0.10.7 リリースノート:変数のエクスポート・インポート機能の追加
