、「複数ファイルの結合_VBA.xlsm」、または「ファイルを結合させるVBA.XLSM」のプログラムで実行した、フォルダーの階層(位置)を例に挙げて、フォルダーの階層(位置)関係について、ご説明します。
ご説明したい内容はプログラムとデータを格納するフォルダーの位置関係を適切にすると、属するフォルダーに関係なく、任意のフォルダー内でプログラムを実行させることが出来ると言う事です。(プログラムの組み方は明日、ご説明予定です)
下図に合わせて、階層図を書くと次の様になります。
ローカルディスク(C:)/
└ A
└ B
├ データ結合用フォルダ
└ 20170823 フォルダーの階層.xlsm
このようにフォルダーを作成し、hiro-yukioのサイトよりプログラムファイル「20170823 フォルダーの階層.xlsm」をダウンロードしてModule1を実行してみて下さい。次に進みます。
イミディエイトウィンドウに「ThisWorkbook.Path = C:\A\B」と表示されます。これは、「20170823 フォルダーの階層.xlsm」ファイルが「B」フォルダーに入っていることを表し、同様に上図より「データ結合用フォルダ」フォルダーも「B」フォルダーに入っていることが解ります。
下図の様にフォルダーを作成し、下記赤文字のプログラムファイルを
hiro-yukioのサイトよりダウンロードしておいてください。
下図ではフォルダーの位置関係が解りづらいので、フォルダーに入れるべき、プログラムファイルおよびフォルダーは次の階層図で理解して下さればと思います。 (明日、BフォルダーとCフォルダーに入れた、ファイル結合のプログラムを実行してみます。下図と表示順は異なります)
ローカルディスク(C:)/
└ A
└ B
├ データ結合用フォルダ ←1つめ
├ 「20170823 フォルダーの階層.xlsm」
├ 「複数ファイルの結合_VBA.xlsm」 ←プログラムファイル
└ C
├ データ結合用フォルダ ←2つめ
└ 「ファイルを結合させるVBA.xlsm」←プログラムファイル
1つめ および 2つめの「データ結合用フォルダ」に入れる データファイル、2つのプログラムの実行、任意のフォルダー に対応できるプログラムの組み方、を 明日ご説明予定です。お楽しみに。
読者の方へ。過去の記事をご覧になられていて、「画像」が上手く表示されない場合は、「hiro-yukioのサイト」の「過去のブログ記事」フォルダーにPDFで保存しましたのでこちらでご覧下さい。

