複数Excelファイルの全シートを1ファイルに統合するサンプルシナリオ

2019.02.19【18_Excel関連】

WinActorのExcel関連ライブラリを用いたサンプルシナリオです。
フルパスで指定したフォルダ内の全Excelファイルの全シートを、 フルパスで指定された新規ファイルに統合するサンプルシナリオとなります。

※本サンプルシナリオをダウンロードする前に、こちらの注意事項を必ずご確認ください。

DOWNLOAD
82.3 KB
複数Excelファイルの全シートを1ファイルに統合するサンプルシナリオ

複数Excelファイルの全シートを1ファイルに統合するサンプルシナリオ

はじめに

WinActorのExcel関連ライブラリを使用して、フルパスで指定したフォルダ内の全Excelファイルの全シートを、フルパスで指定された1つの新規Excelファイルに統合するサンプルシナリオ(以降、本サンプルシナリオ)について説明します。

注意事項

本サンプルシナリオ利用時の注意事項はこちらです。

本サンプルシナリオの概要

本サンプルシナリオは、以下の処理を行います。

  • 指定されたフォルダ内の全Excelファイルに対し、全シートを1つのExcelファイルに統合し、新規ファイルとして保存します。

使用するWinActorモジュール

本サンプルシナリオでは、以下のWinActorモジュールを使用します。

  • 13_ファイル関連/04_ファイル一覧/文字列分割ファイル一覧(ファイル名)取得.ums5
  • 13_ファイル関連/04_ファイル一覧/ファイル一覧(ファイル数)取得.ums5
  • 18_Excel関連/01_ファイル操作/Excel操作(新規作成).ums5
  • 18_Excel関連/01_ファイル操作/Excel操作(保存なしで閉じる).ums5
  • 18_Excel関連/01_ファイル操作/Excel操作(上書き保存する).ums5
  • 18_Excel関連/02_シート操作/Excel操作(シート数取得).ums5
  • 18_Excel関連/02_シート操作/Excel操作(シート選択:インデックス).ums5
  • 18_Excel関連/02_シート操作/Excel操作(別Bookのシートコピー).ums5

動作確認環境

本サンプルシナリオは以下の環境で動作確認しています。

  • Windows 10

  • WinActor 5.3.0

  • Microsoft Excel 2016

本サンプルシナリオの使い方

本サンプルシナリオの使い方は以下の通りです。

Step 1. サンプルシナリオの読み込み

ダウンロードしたZIPファイルを展開し、展開したフォルダに含まれている本サンプルシナリオをWinActorで読み込みます。

Step 2. 動作に必要な変数を設定

本サンプルシナリオを実行するために必要な値を、変数一覧で更新します。
本サンプルシナリオの実行にあたり、事前に設定が必要な変数は下記の2つです。

  • 未処理フォルダパス
    • 統合させるExcelファイルが格納されているフォルダのフォルダ名。フルパスで指定します。
      例)C:\winactor\data
  • 統合ファイルパス
    • 統合したExcelファイルを保存する際のファイル名。フルパスで指定します。
      例)C:\winactor\abc.xlsx
変数表示画面
変数表示画面

Step 3. サンプルシナリオの実行

WinActorで本サンプルシナリオを実行開始します。
全Excelファイルの全シートの統合が完了すると、本サンプルシナリオは終了します。

Step 4. サンプルシナリオの終了後

本サンプルシナリオの実行終了後、統合ファイルパスにファイルが生成されています。 Step2で記載した変数設定値例の場合、「C:\winactor\abc.xlsx」が生成されています。

トラブルシューティング

本サンプルシナリオでは、誤ったファイル名/フォルダ名を指定した場合、エラーメッセージが出力されます。

詳細については、エラーメッセージ一覧を参照してください。

サンプルシナリオ解説

本サンプルシナリオで使用している実装テクニックについて説明します。

フォルダ内全ファイルの操作

本サンプルシナリオでは、指定したフォルダに対して、フォルダ内の全ファイルに対する操作を実現しています。

該当箇所
該当箇所

本サンプルシナリオでは、この処理を

  • 1.フォルダ内のファイル数を取得する。
  • 2.フォルダ内のファイルリストを作成する。
  • 3.ファイルリストのn番目のファイルを操作する。
  • 4.nをカウントアップする。
  • 5.項番1で取得したファイル数分、項番2から項番4の処理をループ処理する。

として実装しております。この実装方式の場合、項番2から項番5がループ処理になります。

そのため、ループ途中でフォルダ内のファイル変更(ファイル新規作成、ファイル削除、ファイル移動、ファイル名変更)をするような処理を実施すると、シナリオが意図通り動作しなくなります。 例えば、進捗がわかるように処理済みのファイルを移動したい、などの理由でファイル移動が必要となる場合は、下記のように処理に変更することでフォルダ内の全ファイルに対する操作が可能となります。

  • 1.フォルダ内のファイル数を取得する。
  • 2.フォルダ内の先頭のファイルを操作する。
  • 3.操作が完了したファイルを別のフォルダに移動する。
  • 4.項番1で取得したファイル数分、項番2から項番3の処理をループ処理する。

このようにファイル操作ループ箇所は、使用用途・条件に応じて改造が必要な箇所ですので、用途に適した改造を行っていただければと思います。

Excelファイル内全シートの操作

本サンプルシナリオでは、1つのExcelファイルに対し、Excelファイル内の全シートに対する処理を実現しています。

該当箇所
該当箇所

本サンプルシナリオでは、この処理を

  • 1.ファイル内のシート数を取得する。
  • 2.ファイル内のn番目のシートをアクティブにする。
  • 3.項番2でアクティブになったセルに処理を行う。
  • 4.nをカウントアップする。
  • 5.項番1で取得したシート数分、項番2から項番4の処理をループ処理する。

として実装しています。現在のWinActorではn番目のシートに対して処理を行うライブラリが存在しないため、項番2でn番目のシートをアクティブにし、項番3でアクティブなシートに操作を行う、といった組み合わせで、n番目のシートに対して処理を行う挙動を実現しています。

変更履歴

版数 日付 修正内容
1.0版 2019/02/19 初版
Twitterでシェア Facebookでシェア
ページの最上部に移動します