【第3回】ロータス師匠のWinActorシナリオ道場~Excel転記編~
第1回で作成したExcel転記シナリオの改造編の完結編じゃ!
今回はシナリオを完成させるぞ!!
シナリオ未作成の方はこちらの記事をご覧ください。
転記作業
前回のブログでは、転記を繰り返す度に、発注管理表の記入欄がずれていく仕組みをつくるために
- 注文件数
- 貼り付け開始行
- 貼り付け終了行
を求めるところまでのシナリオを作成しました。
今回は転記を実現するために、
インポートしたシナリオの変更から行います。
『発注No』『発注日』『担当者』の転記
発注書No・発注日・担当者の3項目は
『Excel操作(値の取得)』と『Excel操作(値の設定)』をセットで使い、
発注書のひとつの値 を、発注管理表の複数のセルに転記しています。
ここでのシナリオの変更作業は以下の通りです。
- 『Excel操作(値の取得)』のファイル名の変数変更
- 『貼り付け先セル位置』の作成と設定
『Excel操作(値の取得)』のファイル名の変数を『発注書ファイル』から『先頭取得_発注書ファイル』へ変更します。
第1回で作成したシナリオでは、以下のように転記先のセル位置を直接指定していました。
しかし、このままでは転記を繰り返しても、同じ位置に値を貼り付けてしまうことになるため、新たに変数を作りましょう。
ライブラリ>07_文字列操作>03_連結>文字の連結(5つ)
を使用して、貼り付けの先セル位置を作成します。
転記前の準備で求めた『貼り付け開始行』と『貼り付け終了行』を使うことで、
貼り付け先のセル位置をずらす仕組みを作ることができる!
『発注No』『発注日』『担当者』それぞれの項目で上記の変更を行います。
ここまでのシナリオの全体像は、このようになります。
残りの項目(『商品No』『商品名』『数量』『単価』)は
『Excel操作(範囲コピー)』と『Excel操作(値のみペースト)』をセットで用い、転記を行いました。
下の図から、さっきの転記方法と何が違うかわかるかの?
ひとつの値ではなく、セルの範囲で転記がおこなわれていますね!
その通りじゃ!今回はコピーする範囲も必要になるから、修正する量も少しふえるぞ!!
ここでのシナリオの変更作業は以下の通りです。
- 『Excel操作(範囲コピー)』のファイル名の変数変更
- コピー終了セル位置の作成と設定
- 貼り付け先セル位置の作成と設定
さきほど『Excel操作(値の取得)』のファイル名の変数を変えたのと同じように、『Excel操作(範囲コピー)』のファイル名の変数を『発注書ファイル』から『先頭取得_発注書ファイル』へ変更します。
ロータス師匠も言っていたように、「どこからどこまでコピーするのか」という範囲を決める必要があります。
「どこから」という最初のセル位置は発注書のフォーマットに従って固定ですが、
「どこまで」という最後のセル位置を『コピー終了セル位置』として、変数設定していきます。
ライブラリ>07_文字列操作>03_文字列連結(2つ)を利用します。
コピー終了セル位置の作成が終わったら、『Excel操作(範囲コピー)』の設定を変更します。
今度は発注管理表の「どこに貼り付けるか」という貼り付け先のセル位置を作成し、設定します。
ライブラリ>07_文字列操作>03_文字列連結(2つ)を使用します。
『Excel操作(値のみペースト)』のセルの設定を変更します。
ここまでの作業を、『商品No』『商品名』『数量』『単価』の転記がうまくいくようにノードを追加したり、それぞれのプロパティで列や変数を変更します。
シナリオはこのようになります。
これで、転記作業グループの変更は終わりです。
ファイルの後処理
第1回で作成したシナリオでは、使用した発注書と発注管理表のExcelファイルをそれぞれ閉じて終了しましたが、 今回は、転記が完了した発注書ファイルを別のフォルダへ移動させます。
まずは、Excelファイルを閉じる処理をグループ化します。
『Excel操作(保存なしで閉じる)』の設定を以下のように変更します。
『Excel操作(上書き保存)』は変更せず、そのままでOKです。
発注書ファイルを『登録済み_発注書』フォルダへ移動させましょう。
ライブラリ>13_ファイル関連>02_ファイル操作>ファイル移動を使用します。
プロパティ画面で移動元と移動先のフォルダパスを作成した変数で以下のように設定します。
ファイルの後処理グループは転記作業グループの下に配置しましょう。
これでファイルの後処理が完了しました。
発注書ファイルが存在しない場合の処理
『未登録_発注書』フォルダに、発注書ファイルが存在しない場合の処理を考えます。
今回は、ファイルが存在しない、ということを知らせるポップアップが表示されるようにします。
ライブラリ>10_ダイアログ>待機ボックス(タイムアウト付き)
を選び、分岐グループのファイルが存在しない方へ配置します。
プロパティ画面で、表示させたいメッセージとタイムアウトする秒数を設定します。
今回は、表示メッセージは「未登録_発注書フォルダにファイルがありません」とし、
5秒でタイムアウトするようにしました。
こちらはあくまで例ですので、自由に設定してOKです。
今回は簡単に待機ボックスのみの処理じゃが、物足りないという方は新しいファイルを作成させたり、メールで通知するようにしたり、好きなように作ってみるのもよいぞ!!
変数グループ化
シナリオに変更を加えることで、変数も増えてきました。関連のあるものをグループ化して、わかりやすく整理しましょう。
まずは、新しい変数グループを作成します。
新しく作った変数グループへ、変数を移動させます。
変数名やグループ名の場所は矢印アイコンで動かすことができます。
グループ分けが完了すると、変数一覧はこのようになります。
今回は以下の表のように変数をグループ分けしました。
自分の好みに合わせて、設定してみましょう。
動作確認
最後に正常に動作するか、転記とファイル移動が正しく行われているか、動作確認をしましょう。
最終的なシナリオはこのようになります。
これでひとつのシナリオが完成したぞ!!
同じ処理でもシナリオの作り方は一通りではないから、他の作り方を考えてみるのもおすすめじゃ!
実際に動かすとなんだか感動しますね!早く次のシナリオを作りたいです!!
押忍!!
最後までお読みいただきありがとうございました。
次回は新しいシナリオを作成します!お楽しみに!!
関連記事こちらの記事も合わせてどうぞ。
2021.03.30
【第35回】ロータス博士のWinActor塾~コマンド実行
2021.03.19
【第34回】ロータス博士のWinActor塾~ストーリーボードⅡ
2021.03.12