【課題】
以下の内容を満たすタスクを作成してみましょう。
※本内容は、自習用コンテンツ1(https://automate.sct.co.jp/knowledge/12041/)の発展となっています。
自習用コンテンツ1を実施してから本コンテンツに着手することをお勧めします。
■1. 事前準備
以下のzipファイルをダウンロードし、任意の場所に解凍してください。
(例:C:\Temp\00008822 など)
https://www.sct.co.jp/download/automate/Sample_Task/00008822/00008822.zip
■2. 内容(クリックして展開してください)
--------------------------------------------------------------------------------------------------
・ Zipファイル内に複数存在するExcelの内容を、自習用コンテンツ1(https://automate.sct.co.jp/knowledge/12041/)の指示に従って弊社デモサイトに転記し、発注情報を登録する。
ただし注文書の中には偽物が存在しており、偽物のファイルは入力してはならない。
※Webページに入力すべき注文書の名前は、必ず「order」でファイル名が始まっているものと仮定する
(弊社デモサイトはこちら)
・正しい注文書は3ファイル存在する。3ファイル分の入力作業を繰り返せばよい。最終的に、下記の画像のように3件の注文が登録されていればよい。
(その日の入力履歴はこちらから確認できます)
・対象のフォルダには、Excelファイル以外のファイルは存在しないものとする。
・なお、偽物の注文書ファイルの内容を誤ってWebに入力した場合は、データが登録できずタスク実行エラーになるので、タスクが正常終了することはあり得ない。
・完成した自習用コンテンツその1のタスクを編集する形で構築してよいものとする。初めから構築しなおす必要はない。
--------------------------------------------------------------------------------------------------
■3. 処理を作成する上での禁則事項
・商品コード、受注単価など、Excelに書いてある値をExcelから取得せず、固定値で入力するのは禁止とします。
・正しい注文書3ファイル分の処理をファイル指定で全て組み込むのは禁止とします。
(=自習用コンテンツ1の内容が3回書いてあるようなタスクは禁止とします)
・偽物の注文書を手動で削除する、手動で正しい注文書だけを別フォルダに移動させてそこで処理を実行する等の行為は禁止とします。
・偽物の注文書ファイルの内容を入力した場合に、無視して次に進む設定は禁止とします。偽物の注文書ファイルは開いてはならないものとします。
■4.ヒント
(ヒントを見る際は、クリックして展開してください。)
ヒント1
処理対象のExcelファイル名が今回は可変です。
そのため今回は、前回の変数群に加えて、「処理対象ファイル名」の変数が必要になります。
ヒント2
ファイル名が可変である点以外は、前回と処理内容は全く同じです。
Excelファイルを開く部分を可変値にして、「Excelファイルを開く→Web入力→Excelファイルを閉じる」の部分が繰り返し処理になります。
ヒント3
繰り返し処理を定義するには、「Loop」アクションで開始点と終了点を指定します。
今回は同じフォルダ内に存在するファイルの数によって繰り返し処理回数が決まるので、「Loop - ファイル」を利用すればよさそうです。
「変数にファイル名を設定する」の部分に変数を指定すれば、そこにフルパスが格納されるので、毎回違うファイルを開く設定ができそうです。
ヒント4
「Loop - ファイル」を利用して解凍したフォルダを指定するだけでは、偽物のファイルも処理対象になってしまいます。
そうすると、何かしらの条件で処理対象を絞り込む必要があります。
今回は、正しい注文書ファイルは必ず「order」という名前で始まっている、という条件があります。
ヒント5
AutoMateでは、ワイルドカード「*」が使用できます。
ファイルを指定する部分で、「(対象フォルダのフルパス)\order*」と指定すれば、偽物の注文書ファイルを含まない形でループできます。
ヒント6
Excelセッション名やブラウザセッション名は、毎回変更する必要はありません。閉じれば同じ名前を再利用できます。
ただし今回の処理において、1つのExcelセッションは、1回のループの中で開く・閉じるが完結していなければなりません。
Excelセッションを開く・閉じるアクションがループブロックの外にあるとタスク実行エラーになります。
■5. 処理作成において参考となるページ(逆引きページなど)
※自習用コンテンツ1で掲載済の内容は省略しています。
特定のフォルダ内のファイルをファイル名順で処理したい
(上記記事を参考として掲載しておりますが、今回、データセットは使う必要はありません)
■6. 繰り返し処理の中でエラーになってしまう場合
以下のページをご参照ください
エラー:オートメーションオブジェクトを作成できませんでした
■7. 構築例および解説
以下の記事に構築例および解説を記載しています。
https://automate.sct.co.jp/knowledge/12046/