抽出ファイルに入力データの名前を持たせる。
以下の、計 3ブック中――計 6シートのデータを抽出対象としましょう。
data1.xlsx:「Sheet1」「Sheet2」「Sheet3」
data2.xlsx:「Sheet1」
data3.xlsx:「Sheet999」「SortData」
参照するブック名は、いずれも "data" 始まりなので、下図のように『2.入力設定』節の『a.ファイル名』項は「data*.xls*」とすれば、同階層に他ブックが存在したとしても影響なく複数対象とすることができます。(※ "xls*" は「.xls」や「.xlsm」形式が設置された時の保険としています。)『b.シート名』項は、全シートの参照を示すように「*」と設定しましょう。
まとめたものを取り扱いたいので、『3.出力設定』節の『a.ファイル名』項に設定したものには、抽出対象の全データが入りそうな気はしますが――
‥‥残念ながら、一番最後に参照されたブック「data.xlsx」の、シート「SortData」のデータしか取得できませんでした。『Excelから抽出』の手順は仕様上、複数のデータを対象とすることはできますが、参照情報をまとめることはできません。データをまとめる方法は、前回記事をご参照ください。
上図、下部の赤枠にも説明文がありますが、xoBlos の予約値を使うことで、入力データの情報をそのままあて込むことができます。たとえブックとシートの数が 1:1 であったとしても、「%SHEET%」をいれておくと変更対応に強いです。
また予め固定文言を付け加えておくと、後続処理で参照のし易さ/中間ファイルの管理/中間ファイルの上書き防止等の面で、より良いものとなるかもしれません。
ワイルドカード「*」の取り扱いに慣れたら、今回例のブック「data3.xlsx」のシート「SortData」が抽出対象外とされた時、各項どのような設定をすれば良いのか考えてみましょう。共通している文言を見極め、設定してみてください!