UiPath公式のガイドに掲載されているチュートリアル「Wordの操作の自動化」を、読み砕いて解説します。
このチュートリアルでは、Wordのアクティビティを使って、従業員ごとのレポートを一括出力する方法について、実装することによって理解できる内容になっています。
もし公式サイトの説明が、ちょっと難しいなと感じた人は、こちらの記事を参考にしてみてください。
もしくは公式サイトで理解した後、知識を固めるためのおさらいで目を通すのもありでしょう。
なお、ほんのちょっとだけ処理をアレンジしています。
この記事では、
チュートリアルをイメージ付きで確認したい。
テキストの置換やブックマーク位置への挿入について、実装例を見たい。
こちらにお答えしていきます。
もくじ
自動化する処理
予め用意されている従業員情報をもとに、従業員ごとのパフォーマンスレポートを作成します。
レポートを作成する従業員の一覧と、レポートに記載する情報は、"Files¥従業員一覧.xlsx"にまとめてあります。
従業員一覧にないその他情報については、別途2つのファイルが用意されています。
ファイル名
”Files¥[従業員氏名]_マネージャー評価.txt"
これらの情報を、Wordのテンプレートに各項目を書き込んで、パフォーマンスレポートを出力していきます。
ちょっとゴチャゴチャしていますが、イメージは掴めるでしょうか?
自動化処理実行後は、従業員毎のレポートファイルが出力されます。
出力するレポートファイル名は、"Output¥[従業員氏名]_パフォーマンスレポート.docx"です。
この流れをフローチャートにし、必要なアクティビティを並べました。
準備
Outputフォルダーの作成
新規にStudioXプロジェクトを作成してください。
プロジェクトフォルダー内に、作成後のWrodファイルを格納するフォルダーを作成します。
フォルダー名は、"Output"としてください。
Filesフォルダーの作成
従業員の各種情報ファイルをプロジェクトフォルダー内に格納します。
まず、フォルダー"Files"を作成してください。
下記ファイルをダウンロードして解凍し、中のファイルをFilesに格納してください。
解凍した後のフォルダーごと格納するのではなく、中のファイルのみです。
なおこのファイル一式は、チュートリアル内で使用されているファイルを日本語に書き換えたものです。
StudioXでの編集
従業員一覧 Excelを開き、表を1行ずつ読み取る
従業員一覧には、レポートを出力する各従業員の名前や、各種情報がまとめられています。
まずは、この表を1行ずつ読み取るロジックを組みましょう。
Excelファイルを使用
[Excelファイルを使用]リソースで"Files¥従業員一覧.xlsx"を開きます。
繰り返し(Excelの各行)
[繰り返し(Excelの各行)]アクションでリソース内の表を参照し、1行ずつ読み取るようにします。
Excel内のシートには1つの表しか存在しないため、ここではシートを指定しています。
Wordテンプレートファイルを開く
Wordファイルを使用
レポートのひな形となる"Files¥パフォーマンスレポート_テンプレート.docx"を開きます。
ひな形のファイルなので、値変更後に上書きされないように[変更を保存]をチェックOFFにします。
このままでは編集しても保存されないので、終わり部分に[名前を付けて文書を保存]アクションを追加して保存する必要があります。
従業員一覧から取得したデータをWord ファイルに追加
ここから以降は、Wordドキュメント内のテキストを編集していく工程になります。
繰り返し処理で読み取る[従業員]には、以下のデータが格納されています。
[従業員]内のデータ | (例)1行目の値 |
氏名 | ジョン スミス |
役職 | ITコンサルタント |
勤務地 | ブカレスト |
マネージャー氏名 | デリー ニコルソン |
これらの値を、Wordドキュメントの各項目に反映していきます。
文書内のテキストを置換
タイトル部分は、テキストの置換で値を反映します。
手順は以下のとおり。
ブックマークのコンテンツを設定
表「個人情報」には、それぞれの値を追加する位置にブックマークが設定されています。
各項目に[ブックマークのコンテンツを設定]アクションを用いて、値を反映します。
同様の手順で、他のブックマークに対しても値を反映します。
ブックマーク名 | ブックマークテキスト |
氏名 | [従業員]-[氏名] |
勤務地 | [従業員]-[勤務地] |
役職 | [従業員]-[役職] |
従業員別プロジェクトExcelの表をWord ファイルに追加
"プロジェクト"以下には、"[従業員名]_プロジェクト.xlsx"に記入されている表を反映します。
なお、"[従業員名]_プロジェクト.xlsx"には、以下のようなテーブルが入力されています。
Excelファイルを使用
[Excelファイルを使用]リソースで"Files¥[氏名]_プロジェクト.xlsx"を開きます。
[氏名]は、繰り返し処理の中で値が切り替わるように指定します。
この手順でのもうひとつのポイントは、テンプレートファイルを指定することですね。
”Files¥[従業員]氏名_プロジェクト.xlsx"が、処理が実行するまではファイル名が確定しません。
その場合、モデルとなるファイルを設定しておくことで、アクティビティの構築がスムーズになります。
ドキュメントにデータテーブルを挿入
プロジェクトファイル内の表を、Wordドキュメントに追加します。
追加先は、ブックマーク名"プロジェクト"の位置となります。
マネージャー評価ファイルのテキストをWordファイルに追加
"上長のフィードバック"の下段に、"Files¥[従業員名]_マネージャー評価.txt"から読み取ったテキストを追記します。
そして、最後にWordファイルに名前を付けて保存します。
例えば、"ジョン スミス_マネージャー評価.txt"には、以下のようなテキストが書き込まれています。
テキストをファイルから読み込み
[テキストをファイルから読み込み]アクションで、文書をStudioXに取り込みます。
取り込んだテキストを記憶する名前は、"マネージャーFB"とします。
テキストファイルの場合、ExcelやWordのようにリソースを使ってファイルを開く必要はありません。
ブックマークのコンテンツを設定
取り込んだテキストを、[ブックマークのコンテンツを設定]アクションを用いて反映します。
名前をつけて文書を保存
編集したWordドキュメントに、名前を付けて保存します。
保存するファイル名は、"Output¥[従業員名_パフォーマンスレポート.docx"とします。
全体の編集作業と実行結果をデモ
これまでの作業手順と、実行を動画に記録しました。
サンプルデータ(従業員ファイル.zip)
冒頭でも案内しましたが、この記事の処理を実行するために必要なファイルを再掲します。
この記事に沿って、実際に操作してみたい場合、まず、プロジェクトフォルダー内に"Files"フォルダーを作成してください。
次に、以下ファイルから圧縮ファイルをダウンロードし、解凍後のファイルを"Files"フォルダー内に格納してください。
アイコンをクリックすると、ダウンロードできます。
もう1つ、プロジェクトフォルダー内に"Output"フォルダーを作成してください。
"Output"フォルダー内には、自動処理後のファイルが格納されるので、最初は空っぽです。
まとめ
このチュートリアルは、Wordアクティビティについてコンパクトに要点がまとまっています。
なので、ひとつひとつ丁寧に理解していけば、スムーズに理解する助けになるはずですよ。
この記事で、何か1つでも新しい発見が得られたのなら、僕もうれしいです。