VBScript:Excel集約ツール


同じフォーマットのExcelファイルを一つに集約するツールを作ってほしい!
という依頼が来たので作ってみました。

◆依頼内容・PC環境

  • あるシステムからダウンロードされるExcelファイルを一つにまとめたい
  • 手作業でやっているので時間がかかし、間違うしでどうにかしたい
  • ファイル数は都度変動し、数十個あるときもある
  • シートの数は5個で変わらない
  • 各ファイルのフォーマットは同じで、上の3行は項目名として結合などして使っている。
  • PC環境はWindows10でOffice2016を使用している

  • ◆目標とツール概要

    やることはいたってシンプルなので、ユーザのPC環境と依頼内容を踏まえて、VBScripで以下のようなツールを作ることにしました。

  • VBScriptに集約したいファイルをドラッグ&ドロップすることで実行するようにする。
  • 保存先を自由に指定できるようにする。
  • 形式の異なったファイルを間違ってドロップした場合を考慮する。
  • シートの上3行が項目で、結合などもされている点も考慮する。



  • ◆ツール全容

    結果として、以下のツールが完成しました。
    レコード数やPCのスペックもよりますが20個ぐらいのファイルで実行したところ、1分かからず終了しました。



    ●関連記事

    VBScript基礎11:FileSystemObject

    【VBScript】FileSystemObjectについて

    VBScript基礎4:配列

    VBScriptでの配列についての説明です。

    VBScript基礎9:ファイルのコピーや削除(FileSystemObject利用)

    VBAでもよく使う、「ファイルシステムオブジェクト(FileSystemObject、FSO)」の説明です。

    VBScript基礎8:WScriptオブジェクト。ドラッグ&ドロップでファイル名やパスを取得する

    VBScriptのツールにファイルをドラッグ&ドロップする際に利用する、WScriptオブジェクトの説明です。

    VBScript基礎3:変数のスコープ

    ここではVBScriptで変数を宣言した場合、どの範囲まで有効かという変数のスコープについ...