4.3.1 貼付オプション機能
Excel連携では抽出データの利用方法が決まっている場合,利用方法に合わせてデータの抽出形式を設定できます。貼り付ける場所をあらかじめ設定しておきたい場合は,[貼付オプション]メニューをチェックしておきます。これで,貼付オプション機能が有効になります。簡単に貼り付け位置を設定したいときは[貼付オプション]ダイアログボックスを使うと便利です。特に定型業務などで,抽出時に使う手順ファイルや,データを貼り付けるシート名まで設定したいときは,貼付オプションパラメタを使うと便利です。
(1) [貼付オプション]ダイアログボックスを使った抽出
[貼付オプション]ダイアログボックスは,DBPARTNER2から抽出するときはデータを貼り付ける直前に,Excelから抽出するときは[抽出]を選択したときに表示されます。
[貼付オプション]ダイアログボックスについて説明します。
- [新規ブック]チェックボタン
-
抽出結果を新規ブックに貼り付ける場合に使用します。
- [既存シート]チェックボタン
-
抽出結果を既存のシートに貼り付ける場合に使用します。既存のシートとは,[抽出]メニューを押したときに表示されているシートです。
- [データ貼付位置:]テキストボックス
-
抽出結果を貼り付けるときの貼り付け位置を指定します。
- [シートの書式を引き継ぐ]チェックボックス
-
抽出結果を貼り付ける場合,シートの書式設定を有効にしたいときに使用します。[既存シート]チェックボタンにチェックしている場合だけ有効です。
- [列名を貼り付けない]チェックボックス
-
抽出結果を貼り付ける場合,列名が不要なときに使用します。
- [シート名変更:]テキストボックス
-
抽出結果を貼り付けたシートの名称を任意の名称に変更したい場合に指定します。
- 注意
-
-
指定したデータの貼り付け位置を基点として抽出結果を貼り付けた場合,Excelシートの制限を超えるときはDBPARTNER2のエラーとなります。
-
シート名の変更で,既存のシート名称を指定した場合には,Excelがシート名称を重複しない名称に変更します。どのような名称になるかは,使用するExcelのバージョンによって異なります。
-
(2) 貼付オプションパラメタを使った抽出
貼付オプションパラメタは,[貼付オプション]ダイアログボックスで設定する情報をExcelシートに記述しておくための機能です。
貼付オプションパラメタを記述したシートを開いて,Excel連携での抽出を実行すると,常に一定条件でデータベースからデータを抽出できます。
(a) 操作
-
Excelを起動します。
-
[貼付オプション(P)]をチェックします。
パラメタを有効にするために必要です。
-
パラメタシートを作成します。
パラメタシート名は,必ず「DBP2ParameterSheet」にしてください。
パラメタシートのパラメタについては「(b)パラメタの詳細」,設定の規則については「(c) 規則」を参照してください。
-
パラメタシート以外のシートをアクティブにします。
-
[DBPARTNER2]−[抽出]を選択します。
DBPARTNER2が起動して,抽出結果が指定位置に貼り付きます。
(b) パラメタの詳細
パラメタシートで設定できるパラメタと,その内容について次の表に示します。
パラメタ名 |
内容 |
---|---|
CatalogFileName |
実行する手順ファイル名を指定します。省略時には,手順ファイルなしで実行します。ファイル名は完全パスで指定してください。 |
KeepFormat |
シートに設定された書式を引き継ぐかどうかを設定します。省略時にはOFFが仮定されます。 ON :シートに設定された書式を引き継ぎます。 OFF :シートに設定された書式を引き継ぎません。 |
ColumnName |
抽出結果に列名を貼り付けるかどうかを設定します。省略時にはONが仮定されます。 ON :抽出結果に列名を貼り付けます。 OFF :抽出結果に列名を貼り付けません。 |
Position |
抽出結果を貼り付ける開始位置を指定します。省略時には,[抽出]メニューを選択したときのアクティブセルの位置となります。 |
PasteSheetName |
抽出結果を貼り付けるシートの名称を指定します。省略時には[抽出]メニューを選択したときのアクティブシートの名称となります。 |
SheetName |
抽出結果を貼り付けたシートを任意の名称に変更したい場合に指定します。省略時には,[抽出]メニューを選択したときのアクティブシートの名称となります。 アクティブシート以外の既存のシート名を指定した場合は,エラーとなりシート名は変更されません。データはアクティブシートに貼り付きます。 |
QueryEnd※ |
抽出完了後に呼び出すマクロ名を指定します。マクロは一つの引数を持つマクロを指定してください。マクロの作成例を次に示します。 Sub QueryEndSam (Rc As Integer) End Sub Rc As Integerは引数です。抽出が正常に終了したときはRcに0が返されます。正常に終了しなかったときはRcに-1が返されます。 |
(c) 規則
-
Anセルにパラメタ,Bnセルに値を設定します。
-
パラメタは,シートの先頭セル(A1セル)から順に設定してください。
-
複数のパラメタを設定する場合は,行を空けないで設定してください。空白の行があると,それまでの行を有効とし,空白行以降の行の設定は無効となります。
-
大文字/小文字は同一の文字として扱います。
-
パラメタの指定順序は任意です。
-
同じパラメタを複数指定した場合は,最後のパラメタが有効となります。
-
パラメタとして不正な文字列を設定してもエラーとなりません。
-
パラメタの値を省略した場合や,範囲外の値を設定した場合は,省略値が仮定されます。
(d) Excelからの自動抽出
データベースからの抽出を自動化したいときは,ExcelのAuto_Openプロシジャと貼り付けオプションパラメタを組み合わせます。Auto_Openプロシジャに次の斜体部分を追加してください。
Sub Auto_Open() Application.Run Macro:="'dbp2exl(64)2019.xlam'!V2MenuRTVEXL" End Sub
Excelのブックを開くだけで手順ファイルが実行され,データベースからのデータが指定したシート位置に貼り付きます。
- 使用例
-
DBPARTNER2から抽出したデータをExcelで作成した帳票に貼り付けます。
-
準備
-
帳票形式を作成します。
ここでは"Sheet1"に作成します。
-
帳票を作成したシートと同じブック内に貼付オプションパラメタシート,Auto_Openプロシジャと,抽出後に呼び出すマクロ"QueryEndSam"を作成しておきます。
-
作成したブックに名前を付けて保存します。
Book1という名前を付けました。
-
実行
保存したブックを開くと次の流れで帳票が完成します。
-
DBPARTNER2が起動されます。
-
パラメタシートに指定した手順ファイルに従って,抽出データがデータベースから呼び出されます。
-
パラメタシートに指定したシート"Sheet1"の指定位置"B3"に,抽出データが貼り付けられます。
-
パラメタシートに指定したマクロ"QueryEndSam"によって,帳票の"金額","合計"が算出され,[抽出完了]のメッセージボックスが表示されました。
これで帳票"仕入票"が完成しました。
-