「StiLL」 デザイン情報246 StiLLコマンド-- データ量の多いブックから高速データ取得するテクニック | ||||||||||||||||||||||||||||||||||||
【テーマ】 通常他のブックからデータを取得するときは「Excelデータ取得(BtMerge)」ボタンを使用します。でも容量の大きいブックや一部のデータを取得する場合は「セル値セット(BtSetValue)」を使うことで高速取得できます。今回はそのテクニックをご紹介します。 |
【方法】 「セル値セット(BtSetValue)」ボタンを使います。 セット値に加工したブック間リンク式を設定することで データを取得できます。 |
【参考】 項目を選択したり条件を設定したい場合、また読み取りパスワードのあるブックの場合は 「Excelデータ取得(BtMerge)」 ボタンをご使用ください。 |
||||||||||||||||||||||||||||||||||
■ 今回の内容 | ||||||||||||||||||||||||||||||||||||
他ブックからデータを取得するとき「Excelデータ取得(BtMerge)」ボタンを使用しますが、 | ||||||||||||||||||||||||||||||||||||
容量が大きかったり数式が多いブックの場合は取得に時間がかかる場合があります。 | ||||||||||||||||||||||||||||||||||||
今回は(BtSetValue)ボタンを使ってExcelデータを取得する方法をご紹介します。 | ||||||||||||||||||||||||||||||||||||
本例では下図のようにシート数の多いブック (Sample.xlsx) から (Sheet1) のデータを取得します。 | ||||||||||||||||||||||||||||||||||||
データのイメージ(ここでは仮に1000行以内のデータとします) | ||||||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||||||
・ポイント | ||||||||||||||||||||||||||||||||||||
・「セル値セット(BtSetValue)」ボタンを配置します。 | ||||||||||||||||||||||||||||||||||||
・対象ファイルを開き,加工したブック間リンク式をセット値に設定します。 | ||||||||||||||||||||||||||||||||||||
■ ボタンの作成と設定 | ||||||||||||||||||||||||||||||||||||
今回使用するStiLLボタンを示します。(下図赤枠) | ||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
「セル値セット(BtSetValue)」 ボタンの設定 | ||||||||||||||||||||||||||||||||||||
以下に設定状態を示します。 | ||||||||||||||||||||||||||||||||||||
ここではデータを取得するシートにシステムテンプレートシートの 「DLDATA」 シートを使います。 | ||||||||||||||||||||||||||||||||||||
![]()
|
||||||||||||||||||||||||||||||||||||
・元データシートの列範囲(A〜J)を「DLDATA」シートの取得列範囲(E〜N)に置き換えています | ||||||||||||||||||||||||||||||||||||
・また取得する最大データ数を1000行としています | ||||||||||||||||||||||||||||||||||||
セット値に以下で作成した式を入力して(OK)ボタンで完了します。 | ||||||||||||||||||||||||||||||||||||
(リンク式の作成方法) | ||||||||||||||||||||||||||||||||||||
直接手入力で設定することも可能ですが、以下手順を踏むとミスが減ります。 | ||||||||||||||||||||||||||||||||||||
1. はじめに元データのブック(ここではSample.xslx)を開いておきます。 | ||||||||||||||||||||||||||||||||||||
2. 取得するシートのデータ開始セル(DLDATA!E14)にブック間リンク式を入力し加工します。 | ||||||||||||||||||||||||||||||||||||
a. =(イコール)を入力したのち、Sampleブック Sheet1のデータ開始見出しセル(A1)をクリックします | ||||||||||||||||||||||||||||||||||||
b. Enterキーでリンク式が設定され、値が表示されます | ||||||||||||||||||||||||||||||||||||
c. その状態で開いていたSampleブックを閉じるとリンク式がファイル名迄のフルパス表示になります | ||||||||||||||||||||||||||||||||||||
d. フルパス表示の式を以下のように加工します | ||||||||||||||||||||||||||||||||||||
本例の場合:='C:\StiLLメールサービス\sms246\[Sample.xlsx]Sheet1'!$A$1 | ||||||||||||||||||||||||||||||||||||
・絶対参照 $A$1 を相対参照 A1 にします ⇒取得するセル位置を可変にする | ||||||||||||||||||||||||||||||||||||
・式の最後に &"" を追加します ⇒空欄セルの値を空白とする(0表示を防止) | ||||||||||||||||||||||||||||||||||||
3. 加工した式を切り取り(BtSetValu)のセット値に貼り付けます(上図) | ||||||||||||||||||||||||||||||||||||
・先頭に = を追加します ⇒データ取得後、数式が値化されリンクが解除される | ||||||||||||||||||||||||||||||||||||
設定する式:=='C:\StiLLメールサービス\sms246\[Sample.xlsx]Sheet1'!A1&"" | ||||||||||||||||||||||||||||||||||||
■ ボタンの実行 | ||||||||||||||||||||||||||||||||||||
本例で作成したボタンをクリックして実行すると以下のようにデータを取得できます。 | ||||||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||||||
(システムテンプレートの「DLDATA」シートに取得しています) | ||||||||||||||||||||||||||||||||||||
※データ元のブック容量にかかわらず高速取得が可能です。 | ||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
↑ データの無い行(905〜1014行)は空白になります | ||||||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||||||
↑ データ取得後リンク式は値化され、ブック間リンクの状態が解除されます(リンク式は残りません) | ||||||||||||||||||||||||||||||||||||
※ 共通部品.xla はStiLLで必要なファイルですので解除しないでください。 | ||||||||||||||||||||||||||||||||||||
■ ご参考までに | ||||||||||||||||||||||||||||||||||||
1.項目を選択したり条件を設定したい場合、また読み取りパスワードのあるブックの場合は 「Excelデータ取得(BtMerge)」 ボタンを | ||||||||||||||||||||||||||||||||||||
ご使用ください。 | ||||||||||||||||||||||||||||||||||||
2.フルパスは 「指定出力位置にアクティブブックパスを貼付(BtPasteBookPath)」 セルリンクボタンを使用することでも | ||||||||||||||||||||||||||||||||||||
取得することが可能です。 | ||||||||||||||||||||||||||||||||||||
(各ボタンの設定内容の詳細はStiLLヘルプをご確認ください) | ||||||||||||||||||||||||||||||||||||
Copyright(C) アイエルアイ総合研究所 無断転載を禁じます | ||||||||||||||||||||||||||||||||||||