Designer:複数のデータ抽出

抽出ファイルに入力データの名前を持たせる。

以下の、計 3ブック中――計 6シートのデータを抽出対象としましょう。

f:id:xoblos:20170412100228p:plain

f:id:xoblos:20170412100234p:plain

data1.xlsx:「Sheet1」「Sheet2」「Sheet3」     
data2.xlsx:「Sheet1」
data3.xlsx:「Sheet999」「SortData

参照するブック名は、いずれも "data" 始まりなので、下図のように『2.入力設定』節の『a.ファイル名』項は「data*.xls*」とすれば、同階層に他ブックが存在したとしても影響なく複数対象とすることができます。(※ "xls*" は「.xls」や「.xlsm」形式が設置された時の保険としています。)『b.シート名』項は、全シートの参照を示すように「*」と設定しましょう。

f:id:xoblos:20170412103842p:plain

まとめたものを取り扱いたいので、『3.出力設定』節の『a.ファイル名』項に設定したものには、抽出対象の全データが入りそうな気はしますが――

f:id:xoblos:20170412100248p:plain

‥‥残念ながら、一番最後に参照されたブック「data.xlsx」の、シート「SortData」のデータしか取得できませんでした。『Excelから抽出』の手順は仕様上、複数のデータを対象とすることはできますが、参照情報をまとめることはできません。データをまとめる方法は、前回記事をご参照ください。

f:id:xoblos:20170412110010p:plain

上図、下部の赤枠にも説明文がありますが、xoBlos の予約値を使うことで、入力データの情報をそのままあて込むことができます。たとえブックとシートの数が 1:1 であったとしても、「%SHEET%」をいれておくと変更対応に強いです。

f:id:xoblos:20170412100305p:plain

また予め固定文言を付け加えておくと、後続処理で参照のし易さ/中間ファイルの管理/中間ファイルの上書き防止等の面で、より良いものとなるかもしれません。

f:id:xoblos:20170412100312p:plain

ワイルドカード「*」の取り扱いに慣れたら、今回例のブック「data3.xlsx」のシート「SortData」が抽出対象外とされた時、各項どのような設定をすれば良いのか考えてみましょう。共通している文言を見極め、設定してみてください!

Designer+Windows:フォルダの中のファイルリストを作成する

特定のフォルダの中にあるファイル名のリストを作成する、フォルダの中のファイルリスト作成.xobという業務を作ってみましょう。下図のような位置にある、INPUTフォルダを対象にしてみます。

f:id:xoblos:20170409233258p:plain

INPUTフォルダの中には、5個のファイルと1個のサブフォルダがあります。

f:id:xoblos:20170409234830p:plain

もし、下図のように1行目に「ファイル名」という名前の項目名、2行目以降にファイル名のリスト形式にできれば、「手順の繰り返し実行の設定」で活用できそうです。この場合、資料 というサブフォルダ名はリストには必要ありません。

f:id:xoblos:20170409233356p:plain

xobファイルに設定する前に、まずコマンドプロンプトで検証してみます。dir INPUT というコマンドだけだと、余分な情報がたくさん表示されてしまいます。

f:id:xoblos:20170409233435p:plain

/B オプションを付けて、dir INPUT /B とすると、ファイル名の表示だけになりますが、まだ 資料 というサブフォルダ名(ディレクトリ名)が 余分です。/AD オプションでA(属性)がD(ディレクトリ)のものだけ、/A-D のようにして、D(ディレクトリ)以外のものだけにできます。

f:id:xoblos:20170409233500p:plain上記DIRコマンドの実行結果を、>(リダイレクト)で filelist.csv というファイルに書き込みます。出力結果を、typeコマンドで確認してみます。

f:id:xoblos:20170409233601p:plain

1行目を項目名にするには、最初にechoコマンドで "ファイル名" を書き込んでから、その後で >>(アペンド書き込み)で追加書き込みをします。これで良さそうですね。

f:id:xoblos:20170409233621p:plain

確定したコマンドを、flist.bat というファイルに書き込んで、xobファイルのあるフォルダに保存します。

f:id:xoblos:20170409233653p:plain

後は flist.bat を、xob業務の「外部アプリの実行」手順から呼ぶだけです。

f:id:xoblos:20170410010428p:plain

「関連付けられたアプリケーションで実行しますか?」が「はい」でbatファイルを実行できない環境では、ここを「いいえ」にして、「実行するファイル」%ComSpec% にし、コマンドライン引数」を /s flist.bat にしてください。 

手順を実行すると、filelist.csvが作成されます。

f:id:xoblos:20170410011046p:plain

補足
この例では、ファイルリストの拡張子を便宜上 .csv にしています。「手順の繰り返し実行の設定」で使用できるファイルリストのファイル形式は、XML形式かCSV形式(またはタブ区切りなど、カンマ以外の区切り文字形式)のどちらかです。この例では、レコードにカンマ区切りがないため、.txt のような拡張子で設定しても構いません。

Designer:#S 記号(Spacer)で不要な箇所を削除する

SUM関数を使用した集計例(合計行の前に1行空行が入る)

【ひな形シート】

f:id:xoblos:20170331165621p:plain

B4のセルには、=SUM(B2:B3) という関数が入っています。

【制御シート】

f:id:xoblos:20170331165648p:plain

【出力結果】

f:id:xoblos:20170331165701p:plain

SUM関数を使用した集計例(合計行と明細行の間をくっつける)

【ひな形シート】

f:id:xoblos:20170331165747p:plain

【制御シート】

f:id:xoblos:20170331165802p:plain

【出力結果】

f:id:xoblos:20170331165818p:plain

ポイントは、ひな形シートに入れた #S 記号です。#S は、Spacerの意味合いで、処理後に削除する箇所に指定します(指定できるのは分類項目、または見出し項目のみ)。この例では、「大分類」という分類項目に指定しているので、処理後に行を削除することができます。

記号判定処理を施すため、制御シートの「整形対象部分の右下」キーワードも必要となります。

Designer:別の業務実行中のエラーメッセージ

「別の業務の実行」手順で、他のxobファイルを呼んで実行する場合、別の業務でのエラー内容がわからないときがあります。

f:id:xoblos:20170331130138p:plain

そのような場合は、Designerのトップメニュー [システム]-[ログフォルダを開く] から、xoBlosDesigner.logを開き、ログファイルでエラーメッセージを確認します。

f:id:xoblos:20170331130152p:plain

corabo:サーバーのコンピューター名を変更したときの留意点

SQL Serverのインストールも、xoBlos coraboのインストールも終り、既に運用中のシステムでのお話です。

既にxoBlos corabo運用中のシステムで、サーバーのコンピューター名を変更することは推奨いたしませんが、どうしても事情により コンピューター名を変更された場合の留意事項です。

xoBlos coraboの設定(configファイル設定)では、SQL Serverの接続設定を、localhost\sqlexpress または localhost とコンピューター名に依存しないように記述しているため、大勢に影響はありませんが、SQL Server全般のチューニングのため、下記の記事を参考にしてSQL Server設定を変更してください。

SQL Serverスタンドアロン インスタンスをホストするコンピューターの名前変更
https://msdn.microsoft.com/ja-jp/library/ms143799.aspx

xoBlos corabo本体の方では、ServerSettingWindow.exe での設定変更が必要となる場合があります。

xoBlosのインストールフォルダ下の、svcフォルダにある、ServerSettingWindow.exe をダブルクリックし、各サブシステムの詳細設定ダイアログで、サーバー名を新しいコンピューター名に変更して保存してください。

f:id:xoblos:20170328171624p:plain

Designer:抽出データのマージ

並び順の未設定。

f:id:xoblos:20170324112536p:plain

f:id:xoblos:20170324112542p:plain

上図のように、複数の抽出データを単純にマージしたい場合は、Designer の『抽出データ並替』手順を使います。この手順は並べ替えを主としていますが‥‥並び順(昇順/降順)の具体設定をしなければ、単純マージされます。

f:id:xoblos:20170324112549p:plain

               ↓

f:id:xoblos:20170324112555p:plain