12

こんにちは、NTTデータ WinActor技術支援チームです。
いつもユーザーフォーラムをご利用いただき、ありがとうございます。
今回は以下のトピックについて解説します。
 ・WinActor Storyboard作成シナリオを比較(Excel 中級編)

前回のStoryboardの概要解説はコチラ
 ・V7機能紹介①_WinActor Storyboard(初心者向けエディタ)
 ・V7機能紹介②_WinActor Storyboard(Excel 初級編)

■WinActor Ver6とWinActor Storyboard作成シナリオを比較(Excel 上級編)
 シナリオ動作概要 
 今回作成したシナリオは、取得する行がファイルによって変動する場合も繰り返し回数を変更することなく動作させるためのシナリオ作成方法になります。
  1.Excelファイルを開く
  2.3~4繰り返し
   ★分岐を利用して、取得列が空白になったら繰り返し終了
  3.取得列から値を取得
  4.取得した値の隣(設定列)に転記
  5.Excelファイルを上書き保存して、ファイルを閉じる

 実行結果(5回ループの場合)

シナリオ(WinActor ver6)

<ノード>
  ・ファイルと関連づいているアプリ起動
  ・繰り返し
  ・分岐
  ・Excel操作(値の取得2)
  ・Excel操作(値の設定2)
  ・カウントアップ
  ・繰り返し終了
  ・Excel操作(上書き保存)

シナリオ(WinActor Storyboard)

 <シナリオポッド>
  ・開く
  ・縦方向繰り返し
  ・分岐
  ・縦方向繰り返し中の値取得
  ・縦方向繰り返し中の値設定
  ・指定した値と等しいか否か
  ・繰り返し終了
  ・上書き保存
 
<WinActor Ver6とWinActor Storyboard違い>
~繰返し条件~
 Ver6    空白 =(等しい) 空白
       ※無限ループする状態に設定します。
 Storyboard 開始行 ⇒ 4 終了行 ⇒ 100
  解説・注意点
  Ver6    無限ループに設定することで、ファイルごとに繰り返す回数が変動してもシナリオを変更することなくシナリオ実行することが出来ます。
         ただし、必ず繰り返しの中に繰り返しを抜ける条件を入れる必要があります。
  Storyboard  終了行に設定する値は、繰り返したいファイルの終了行が一番大きい行の値を設定する必要があります。
         ※終了行に設定する値は、大きめの数字で設定すると良いです。

 ~Excelから値を取得する部品の設定位置~
  Ver6      分岐の前に取得列の値を取得
  Storyboard  分岐の前とExcelに値を設定する前の2回、取得列から値を取得
 解説・注意点
      Storyboardの分岐は、取得した値が"true"かどうかで処理を分岐させることが出来ます。
  そのため、取得列から取得した値が空白と一致(true)するかどうかを、分岐の前で判定するための処理「指定した値と等しいか否か」のシナリオポッドが必要です。
  前回のV7機能紹介②で記載した通り、Storyboardでは取得した値を利用することが出来るのは、最新の取得した値のみになります。
  その為、設定列に値を設定する場合、再度取得列から値を取得する必要があります。"

まとめ
今回は中級編として、繰り返す回数がファイルごとに変動しても動作するシナリオを作成してみました。
Storyboardでは、ファイル操作関連のシナリオポッドを利用する場合、操作対象の相対パスまたは絶対パスを設定する必要があります。
指定するファイルパスは、固定で設定する必要があるため、実行するファイルパスが変動する場合は、シナリオを修正する必要がありますが、
Excelファイルのデータ行が変動する場合でも分岐を利用することで変数を意識せずにシナリオ作成することが出来ました!

次回予告
 ・Excelファイル上級編

おわりに
この記事が面白かった、参考になったと思っていただけたら、ぜひ「いいね!」ボタンを押してください。
コメントもお待ちしています。

WA技術支援チーム 質問の編集
回答とコメントは、会員登録(無料)で閲覧できるようになります。