アクティビティ
最新
バナーの背景画像
生産性を高めるアクティビティ
最終更新日 2024年4月26日

複数の Excel ファイルを管理する

以下の例では、同じ構造を持つ複数の Excel レポート ファイルからデータを抽出して、単一の Excel レポート ファイルを作成する方法を説明します。[Excel アプリケーション スコープ][重複行を削除][ブックを保存][ブックを閉じる][範囲を読み込み]、および [範囲を追加] などのアクティビティが示されます。これらのアクティビティは、UiPath.Excel.Activities パッケージに含まれています。

サンプルと同等のオートメーション プロセスは以下のように構築できます。

  1. Studio を開いて、新しいプロセスを作成します。プロセスの既定の名前は Main です。
  2. [新規] タブに移動し、[シーケンス] を選択します。

    • [名前] フィールドに MergeReports と書き込みます。
    • Main プロセスと同じ場所にプロセスを保存するよう選択します。
    • [作成] を選択します。
    注: プロジェクト フォルダーに ReportTemplate.xlsx ファイルを追加し、Reports フォルダーを作成します。このフォルダーに Report1Report2、および Report3 という .xlsx ファイルを含めます。
  3. ワークフロー デザイナー[MergeReports] タブを選択します。
  4. [繰り返し (コレクションの各要素)] アクティビティをワークフロー デザイナーにドラッグします。

    • [繰り返し] フィールドに、値 file を追加します。
    • [プロパティ] パネルで、[TypeArgument] フィールドを String に設定し、[値] フィールドに ReportFiles を追加します。
  5. [シーケンス] コンテナーを、[繰り返し (コレクションの各要素)] アクティビティの本体にドラッグします。

    • ReportTable という名前の新しい DataTable 型変数を作成します。
    • ReportTable という名前の新しい DataTable 型変数を作成します。
  6. [シーケンス] 内部に [Excel アプリケーション スコープ] アクティビティを追加します。

    • [プロパティ] パネルで、[表示名] フィールドに名前 Report file を、[ブック パス] フィールドに値 file を追加します。
    • [読み取り専用][可視] オプションのチェック ボックスを選択します。これにより、パスワードなしでアクセスするユーザーに読み取り専用モードでファイルが表示されるようになります。
  7. Excel の [範囲を読み込み] をドラッグして、[Excel アプリケーション スコープ] 内部に追加します。

    • [プロパティ] パネルで、[データ テーブル] フィールドに値 ReportTable を追加します。
    • 表の最初の行がヘッダーとして識別されるように、[ヘッダーを追加] オプションのチェック ボックスを選択します。
  8. 新しい [Excel アプリケーション スコープ] アクティビティを、表示名が Report file[Excel アプリケーション スコープ] アクティビティの下にドラッグします。
    • [プロパティ] パネルで、[表示名] フィールドに名前 Output report を、[既存のブック] フィールドに値 OutputReport を追加します。
    • [可視] オプションのチェック ボックスを選択します。これにより、すべてのユーザーに表示されるファイルが作成されます。
  9. Excel の [範囲を追加] アクティビティを、[Excel アプリケーション スコープ] アクティビティ内部に追加します。

    • [プロパティ] パネルで、[データ テーブル] フィールドに変数 ReportTable を、[シート名] フィールドに "Sheet1" を追加します。
  10. [代入] アクティビティを、表示名が Output report[Excel アプリケーション スコープ] アクティビティの下にドラッグします。
    • [プロパティ] パネルで、[左辺値 (To)] フィールドに変数 RowsCounter を、[右辺値 (Value)] フィールドに RowsCounter + ReportTable.Rows.Count を追加します。
  11. ワークフロー デザイナーで、[Main] タブを選択します。
  12. [シーケンス] コンテナーをワークフロー デザイナーにドラッグします。

    • 次の変数を作成します。

      変数名

      変数の型

      既定値

      RowsCounter

      Int32

      N/A

      OutputReportName

      文字列

      N/A

      ReportFiles

      String の配列

      N/A

      OutputReport

      WorkbookApplication

      N/A
  13. [シーケンス] の本体に、[代入] アクティビティを追加します。

    • [プロパティ] パネルで、[左辺値 (To)] フィールドに変数 OutputReportName を、[右辺値 (Value)] フィールドに String.Format("Report-{0:yyyyMMddHHmmss}.xlsx", DateTime.Now) を追加します。これには、ファイル名の現行日時が含まれます。
  14. [ファイルをコピー] アクティビティを追加して、[代入] アクティビティの下に配置します。

    • [プロパティ] パネルで、[パス] フィールドに変数 ReportTemplatePath を、[コピー先] フィールドに変数 OutputReportName を追加します。
  15. 新しい [代入] アクティビティを、[ファイルをコピー] アクティビティの下にドラッグします。

    • 変数 ReportFiles[左辺値 (To)] フィールドに、構文 Directory.GetFiles(ReportsFolderPath, "*.xlsx")[右辺値 (Value)] フィールドに追加します。
  16. [代入] アクティビティの後に、[Excel アプリケーション スコープ] アクティビティをドラッグします。

    • [プロパティ] パネルで、[ブック パス] フィールドに変数 OutputReportName を、[ブック] フィールドに OutputReport を追加し、全員にファイルを表示する [可視] オプションのチェック ボックスを選択します。
  17. [シーケンス] コンテナーを、[Excel アプリケーション スコープ] の本体に追加します。
  18. [ワークフロー ファイルを呼び出し] を、新しく作成された [シーケンス] に追加します。

    • [ワークフロー ファイル名] にパス "MergeReports.xaml" を設定します。
  19. [重複行を削除] アクティビティをドラッグして、[ワークフロー ファイルを呼び出し] アクティビティの下に配置します。

    • [プロパティ] パネルで、"A2:F" + (RowsCounter + 1).ToString[範囲] フィールドに、"Sheet1"[シート名] フィールドに追加します。
  20. [ブックを保存] アクティビティを、[重複行を削除] アクティビティの下にドラッグします。
  21. [ブックを閉じる] アクティビティを、[Excel アプリケーション スコープ] アクティビティに追加します。

    • [ブック] フィールドに OutputReport 変数を追加します。
  22. オートメーション プロセスを実行します。完了すると、定義済みのテンプレートを使用し、複数のファイルのデータを組み込む新しい .xlsx ファイルが作成されます。

Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.