BizRobo!で複数のファイルに本日日付を付けるロボットを作ってみよう
皆さんこんにちは!開発エンジニアのYOです。
ついにオリンピックが開幕しましたね!
真剣勝負に挑むアスリートたちの姿には、勝ち負け関係なく本当に心が動かされます。
さて、本日は業務でもよくある、「複数のファイルのファイル名に本日日付をつけて保存する方法」をご案内したいと思います。
ゴール
フォルダの中に特定ファイルだけに本日日付をつける。
例)ロボット実行前 → 実行後
提案書1.pptx → 提案書1_2021-07-28.pptx
提案書2.pptx → 提案書2_2021-07-28.pptx
提案書3.pptx → 提案書3_2021-07-28.pptx
BizRobo!で行うこと
今回BizRobo!では以下のような作業をロボットにしていきます。
1.フォルダの中にある対象ファイルを洗い出す
(今回はフォルダの中にある拡張子が.pptxファイルだけを対象とします)
2.対象ファイルのファイル名に今日の日付を加えて保存する
3.もとのファイルを削除する
実際のロボットの作り方
では実際のロボット作成の流れを説明します。大きくは6つの作業になります。
1.ロボットファイルを作成し、変数を設定する
2.フォルダの中にある複数のファイルから必要なファイルのフルパスを抽出する(For each File)
3.抽出したファイルを変数に取り込む(Load File)
4.ファイル名を修正し、今日の日付を加えて保存する(Write File)
5.もとのファイルを削除する(Delete File)
6.実行結果を確認する
1.ロボットファイルを作成し、変数を設定する
まずは準備として、Design Studioを起動後、任意の名前でロボットファイルを作成したら、最初に変数を2つ作成します。
変数タブかから「+」ボタンをクリックし、「名前」欄に変数名を任意で入力後、
「タイプを選択」から1つは「Binary」、もう1つを「Short Text」で作成します。
ここでは仮に以下のように設定しました。
変数名:ファイルパス(Short Text)
変数名:ファイル本体(Binary)
※括弧内は変数の型です。
2.フォルダの中のファイルを確認する(For Each File)
では、ステップを作成していきます。
まず1つ目にフォルダの中身にある各ファイルを1つずつチェックし、
もしpptxファイルがあればその保管場所とファイル名を取得するステップを作成しましょう。
ここでは「For Each File(ファイル繰り返し)」を使います。
アクションステップを配置したら、「アクション」タブの「アクションを選択」から、
「ファイルシステム」中の「ファイル繰り返し」を選択します。
このアクションはフォルダの中に内包されているファイルを1つずつ繰り返し拾い上げ、
パスを含むファイル名を変数に取り込むことができます。
例)C:\failes\○○.pptx
続いて、各項目を以下のように設定します。
ディレクトリ名:対象のpptxファイルがあるパス
ファイル名のパターン:.*.pptx
ファイル名をここに保存:ファイルパス
詳細は省きますが、②のファイル名のパターンにこのように記述すると、
拡張子が「pptx」のファイルだけを抽出対象とできます。
またファイル名をここに保存に設定した変数「ファイルパス」にファイルの保管場所を含めたファイル名が取り込まれます。
ここまでできたら、確認のため「エンドステップ」を選択し、変数「ファイルパス」に
正しくファイル名が取り込みがされていればOKです。
※ここでもし、pptxのファイル以外が表示されていたら「ファイル名のパターン」が誤っている可能性があるので修正しましょう。
その後「For each Files」の右矢印をクリックし、変数の中身が次のファイルになれば正しく繰り返し処理ができていることになります。
このようにFor Each Fileステップによる繰り返しを行うことで、1つ1つのpptxファイルに対し以降の処理を行っていくことができます。
※確認が終わったら◀を複数回クリックして「1」に戻しておきましょう。
これで1つ目のステップが完成です。
3.ファイル本体を変数に取り込む(Load File)
今度は先程取得した変数「ファイルパス」の中身を利用し、実際のファイルを変数に取り込みます。
先程と同じようにアクションステップを配置したら、「アクション」タブの「アクションを選択」から、
「ファイルシステム」中の「ファイル読込」を選択します。
続いて、各項目を以下のように設定します。
ファイル名:ファイルパス
出力値:変数に抽出
変数:ファイル本体
※ファイル名に変数を指定するには、最初に右端の「▼」をクリックし、プルダウンから「変数」を選択、その後表示された「変数を選択」プルダウンから変数を選択します。
このように設定することで、先程変数「ファイルパス」で抽出した情報をもとに、
実際のpptxファイル本体をBizRobo!の変数「ファイル本体」に取り込むことができます。
4.ファイル名に今日の日付を加えて保存する(Write File)
取り込んだファイルに今日の日付を加えて保存します。
※少し難しいところがありますが、じっくり読んでいただければ大丈夫です!
まず、ステップを作成しましょう。
アクションステップを配置したら、「アクション」タブの「アクションを選択」から、
「ファイルシステム」中の「ファイル出力」を選択します。
このステップは、指定の保管場所に指定したファイル名でファイルを保存することができます。
ファイル名の右端にある「▼」ボタンをクリックして、「コンバータ」を選択します。
次に表示された「変数を取得」をダブルクリックします。
「設定:変数を取得」が開きますので、その中の「変数を選択」のプルダウンから、変数「ファイルパス」を選択します。
すると「テスト出力」にこの時点で変数「ファイルパス」に取り込まれている内容が表示されるのを確認できたら「OK」をクリックして確定しましょう。
画面が戻ったら、さきほどの「変数を取得」が「ファイルパスを取得」に変わったことが確認できるはずです。
続いてそのすぐ下にある「+」ボタンをクリック、「テキストフォーマット」、「テキストの置き換え」の順にクリックします。
「設定:テキストの置き換え」が開いたら、まず画面左下の「テスト入力値」に変数「ファイル名」の内容が表示されていることが確認できると思います。
「設定:テキストの置き換え」が開きますので、画面の上の方、「このテキストを検索」に「.pptx」と入力しましょう。
すると、画面右下の「テスト出力」には、左側の入力値に対し、.pptxだけが欠けた状態のものが表示されると思います。
この状態が確認できたら画面右下「OK」をクリックしましょう。
—解説—
このテキストの置き換えでは、「テスト入力値」の内容から「.pptx」を検索し「このテキストに置き換え」の内容に置換しています。※その結果が「テスト出力」に出力されます。
——
画面が戻ったらまた「+」ボタンをクリック、「エクスプレッションを評価」を選択しましょう。
「設定:エクスプレッションを評価」が開いたら、まず画面左下の「テスト入力値」に変数さきほどの「テスト出力」の内容が表示されていることが確認できると思います。
では画面の上の方、「エクスプレッション」に以下を入力してください。
INPUT+>>_<<+date()+>>.pptx<<
すると、画面右下の「テスト出力」には、左側の入力値に対し、
ファイル名と拡張子(.pptx)の間に本日日付が入った状態のものが表示されると思います。
—解説—
まずこの文章「INPUT+>>_<<+date()+>>.pptx<<」を分割してみると以下のような情報が入っています。
INPUT = 以前の結果(ここでは先の「テキストの置き換え」の結果)
>>_<< = アンダースコア ※ファイル名を見やすくするため
date() = 本日の日付
.pptx = 拡張子
+ = 各文字や数値などをつなぐためのもの
最初の「INPUT」ですが、これを設定することで、先の「テキストの置き換え」の結果を呼び出すことができます。
続いて「>>_<<」、これはファイル名とあとの日付の間に「_(アンダースコア)」を入れてファイル名を見やすくするためだけに入れているのですが、
このように任意の文字列を設定するには前後に「>>」と「<<」でくくる必要がります。
次に「date()」、これは関数で、このように記述することで本日の日付を呼び出すことができます。
最後に先程のアンダースコアと同様、文字列「>>.pptx<<」を設定します。
また、上記のように文字列や関数などを繋げて一文を作成いくのですが、それぞれを連続で記述しただけではエラーとなるため、間に「+」を記述して繋げる必要があります。
例)>>今日の日付は<<+date()+>>です。<< = 今日は2021-07-28です。
——
最後に、名前を修正したい実際のファイルを指定するため、「ファイルコンテンツ」で変数「ファイル本体」を選択します。
5.もとのファイルを削除する(Delete File)
先のステップでは対象ファイルを別名で保存したことになり、もとのファイルはまだ残っています。
ここでは残ったファイルを削除しましょう。
また新規にアクションステップを配置したら、「アクション」タブの「アクションを選択」から、
「ファイルシステム」中の「ファイル削除」を選択します。
続いて、アクションタブの「ファイルまたはディレクトリ」から変数「ファイルパス」を設定します。
これですべてのステップが完成です!
6.実行結果を確認する
ロボットが完成したら実行してみましょう。まずは画面上部にある「デバッグ」を選択します。
続いて画面左上、実行ボタン「▶」をクリックして実行します。
実行が完了したら、ファイルの名前が変更されていることを確認しましょう。
以上です。
最後に
いかがでしたでしょうか?
今回ご紹介した内容を実現するには、他にもいくつか方法があるのですが、その一例としてお話させていただきました。
これが皆様の自動化推進へ向けた一助となれば幸いです。
また今回の内容が簡単だと感じた方もいれば、結構難しいな、、、と感じた方もいらっしゃるかもしれません。
KYOSOPRAS+ではRPAの導入支援、運用保守だけでなく、将来的な社内のRPA定着化に向けた教育や研修まで
トータルにサポートさせていただいておりますので、もしご不安やご相談がございましたら、お気軽にお問い合わせください。