UiPath StudioX かんたんRPAレシピ集(No.5)複数のExcelファイルを1つのExcelへ1シート単位でマージする(vol.32)

2023.03.06

序章

皆さん、こんにちは!“UiPath StudioX かんたんRPAレシピ集のお時間です。
本記事では、お仕事でよくある身の回りの作業を簡単・スピーディーに自動化するため、
自動化の事例と、StudioXによるワークフローの作り方を連載でご紹介しています。

本日のレシピでは、「複数のExcelファイルを1つのExcelへ1シート単位でマージする」方法を紹介させていただきます。

UiPath StudioX レシピの概要

前回の記事では複数のPowerPointを一つにマージしてPDF出力、またはPDFをページで分割する方法をご紹介しましたが、今回は複数のExcelファイルをマージする方法についてご紹介します。

具体的には、複数のExcelファイルを1つのExcel1シート単位でマージするという作業を自動化してみます。

図1 図2

StudioXで作成したワークフローの全体像は下記のとおりです。

図3

それでは、次にワークフロー作成の手順を解説していきます。

手順1. マージ先のExcelファイルを開く

まずは、マージ先のExcelファイルを開きます。
指定のExcelファイルを開く場合は、「Excelファイルを使用」アクティビティを選択し、アクティビティのプロパティには下記のとおり設定してください。

図4

#

プロパティ名

設定値

1

Excelファイル

指定のExcelファイルの場所を入力します。

2

参照名

後続のアクティビティで参照するための名称を入力します。このレシピでは「まとめ用Excel」とします。

3

変更を保存

Excelに変更があった際に保存するかどうか指定できます。このレシピではチェックを入れます。

手順2. Excelファイルのシートを、一つのExcelファイルにマージする

手順2では以下の手順を作成しています。

  • 指定されたフォルダーに格納されているExcelファイルの数だけ、マージ先にシートを挿入

  • マージ元ファイルの値を貼り付け

  • シート名を変更

まずは、指定したフォルダー内のファイルを一つずつ処理していきます。
「繰り返し(フォルダー内の各ファイル)」アクティビティを選択し、プロパティには下記のとおり設定してください。

図5

#

プロパティ名

設定値

1

繰り返し

後続のアクティビティで参照する名称を入力します。このレシピでは「各個人ファイル」とします。

2

フォルダー

処理対象のフォルダーを選択します。

3

フィルター条件

 

処理対象のファイルの条件を設定します。このレシピでは「*.xlsx」とします。

4

並べ替え順

ファイルを処理する順番を設定します。このレシピでは「名前(昇順)」を選択します。

次に、マージ元のExcelファイルを開きます。
Excelファイルを使用」アクティビティを選択し、プロパティには下記のとおり設定してください。

図6

#

プロパティ名

設定値

1

Excelファイル

指定のPowerPointファイルの場所を入力します。右側の(+)ボタンをクリック後、「各個人ファイル」を選択し、「完全名」を選択してください。

2

参照名

後続のアクティビティで参照するための名称を入力します。このレシピでは「各個人Excel」とします。

次に、マージ先のExcelファイルにシートを挿入します。
「シートを挿入」アクティビティを選択し、プロパティには下記のとおり設定してください。

図7

#

プロパティ名

設定値

1

シートを作成するブック

シートを作成するExcelファイルを指定します。このレシピでは「まとめ用Excel」とします。

2

シート名

作成するシートの名前を設定します。

右側の(+)ボタンをクリック後、「各個人ファイル」を選択し、「名前」を選択してください。

3

新しいシートの参照名

新しいシートの参照名を指定します。

右側の(+)ボタンをクリックすると変数を作成できるため、変数を作成し値の保存先を設定します。このレシピでは「シートを挿入__新しいシートの名前」とします。

次に、マージ元のデータをコピーし、作成したシートに貼り付けていきます。
「範囲をコピー/貼り付け」アクティビティを選択し、プロパティには下記のとおり設定してください。

図8

#

プロパティ名

設定値

1

ソース

コピーする対象を指定します。

右側の(+)ボタンをクリックし、「各個人Excel」の「カスタム入力」を選択してください。カスタム入力の「シート」をラジオボタンで選択します。このレシピではワークシート名に「Sheet1」を設定します。

2

ターゲット

コピーしたデータの貼り付け先を設定します。

右側の(+)ボタンをクリックし、「変数を使用」から「シートを挿入__新しいシートの名前」を設定します。

3

コピーする内容

プルダウンから「すべて」を選択します。

次に、シート名を変更します。
「テキストを変更」アクティビティを選択し、プロパティには下記のとおり設定してください。

図9

#

プロパティ名

設定値

1

変更するテキスト

 

変更するテキストを指定します。

(+)ボタンをクリックし、「変数を使用」から「シートを挿入__新しいシートの名前」の「名前」を選択します。

2

テキストを検索して置換

別途解説します。

3

名前を付けて結果を保存

 

変更後のシート名を保存します。

右側の(+)ボタンをクリックすると変数を作成できるため、変数を作成し値の保存先を設定します。このレシピでは「変更後シート名」とします。

テキストを検索して置換

「変更を追加」のプルダウンから「検索して置換」を選択し、「テキストを変更」アクティビティ内に二つ設置します。
一つ目の「テキストを検索して置換」のプロパティには下記のとおり設定してください。

図10

#

プロパティ名

設定値

1

次を検索

置換対象の検索する文字列を指定します。

右側の(+)ボタンをクリックし、「テキスト」を選択してください。このレシピではワークシート名に「サンプル経費_20224月」を設定します。

2

次で置換

置換する文字列を指定します。

右側の(+)ボタンをクリックし、「テキスト 空の値」を選択してください。

二つ目の「テキストを検索して置換」のプロパティには下記のとおり設定してください。

図11

#

プロパティ名

設定値

1

次を検索

置換対象の検索する文字列を指定します。

右側の(+)ボタンをクリックし、「テキスト」を選択してください。このレシピではワークシート名に「.xlsx」を設定します。

2

次で置換

置換する文字列を指定します。

右側の(+)ボタンをクリックし、「テキスト 空の値」を選択してください。

これでシート名から「サンプル経費_20224月」と「.xlsx」は削除されます。

次に、シート名を変更します。
「シート名を変更」アクティビティを選択し、プロパティには下記のとおり設定してください。

図12

#

プロパティ名

設定値

1

変更するシート

変更するシートを指定します。

右側の(+)ボタンをクリックし、「変数を使用」の「シートを挿入__新しいシート名」を選択してください。

2

新しいシート名

新しいシート名を設定します。

右側の(+)ボタンをクリックし、「変数を使用」の「変更後シート名」を選択してください。

まとめ

ワークフロー作成の手順は以上です。完成したワークフローを再度掲載します。

図13

このワークフローを実行していただくと、複数のExcelファイルを1つのExcel1シート単位でマージする作業を自動化することができます。
これでもう手動で複数Excelファイルをマージする作業が不要になりますね。

今回のレシピでは、StudioXを使って「複数のExcelファイルを1つのExcel1シート単位でマージする」方法を紹介させていただきました。

StudioXは、本日ご紹介した以外にも様々なOffice製品の自動化が出来ます。今後もOffice製品を自動化する色々なレシピをご紹介させていただきます。

本日のレシピは以上です。
それでは次回もお楽しみに。

 

弊社ではRPAの推進と活用をもう一度はじめたい方に参考になる資料「今こそ言える、RPA成功への近道 ~推進と活用の2軸から‘もう一度’はじめましょう!~」をご用意しております。

本資料は、RPA導入や再活用に向けて必見の資料です。ぜひダウンロードいただき、ご覧ください。