制御シートキーワード:オフセット基準セル (4)

前へ  

「オフセット基準セル」キーワードの応用として、よくお問い合わせがある「前回データへの追記出力」という要件に「オフセット基準セル」キーワードを使ってみました。

下図のようなフォルダ構成を用意します。

f:id:xoblos:20210715035121p:plain

手順の組み立て例が下図です。「02_OUTPUT」フォルダに出力されたデータを、処理後に「03_前回」フォルダに保管(コピー)しています。次回の処理では、新たな入力データが、前回データ(「03_前回」から「02_OUTPUT」にコピー後)に追記されます。

「ひな形シート名」と出力「シート名」を一致させる既存ブック生成法を使います。

f:id:xoblos:20210715035136p:plain

「03_前回」フォルダには、一番最初に次のような空データを置いておきます。2行目は行ひな形であり、A3セルには範囲名「左上」を定義しておきます。

f:id:xoblos:20210715041808p:plain

 次のような入力データがやってきて、

f:id:xoblos:20210715041829p:plain

 実行すると。次のような出力になります。

f:id:xoblos:20210715103618p:plain

下図が生成用制御シートです。「オフセット基準セル」に、「左上」という範囲名を指定しています。(0, 1) は「左上」の1行上1列目を示し、(0, 5) は「左上」の1行上5列目を示します。

f:id:xoblos:20210715104105p:plain

 入力「基本データ」で、インプットデータ.xmlの次にDUMMY.xmlを指定していますが、これは出力結果の範囲名「左上」を設定した行の1行上に、行ひな形を入れるためのダミーデータ(内容は空の1行データ)となります。「CTL」フォルダなどに格納しておきましょう。

<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
<Root> 
<ROWS></ROWS>
</Root> 

続いて2回目の入力データがやってきて、

f:id:xoblos:20210715050037p:plain

実行すると、前回データに追記されます。

f:id:xoblos:20210715103648p:plain

3回目、4回目以降も同様の追記処理が実現できます。

出力Excelブックが上書きされていく手法なので、バックアップの意味もあり、後続手順でファイル名にタイムスタンプを付与したファイルも保管した方が良さそうです。

前へ