スクリプトによる一括処理

DBProを使って繰り返し実行したい一連の処理をあらかじめファイルに登録しておき,その処理を一括して実行することができます。DBProでの一括処理の機能には,実行したい処理をチェックするだけのスクリプトと,本格的なプログラムを記述して実行するDPL(DBPro Programming Language)とがあります。

スクリプトは,指定したファイルに対して,あらかじめ決められた順序で並んだコマンドを順に実行します。スクリプトの作成は,並んでいるコマンドの中から実際に実行したい処理を選ぶだけです。DBProを普通に使える方であれば,プログラミングの知識は必要ありません。

スクリプトはとても簡単に作成できる反面,処理の状況に応じて次に実行するコマンドを変更したり,DBProが元々もっている対話編集機能以外の方法で利用者とやり取りすることができません。あくまでも連続した一本の流れ,あるいは単純な繰り返しループとしての処理だけが実行できます。各コマンドでは,あらかじめ対話編集で作成しておいた各種の定義情報や探索条件を利用することができます。複数のスクリプトを連続して実行させることもできます。

スクリプトでは記述しきれない複雑な処理が必要な場合は,DPLを利用してください。


目次
スクリプトで実行できる機能
スクリプトの作成
スクリプト作成ウィンドウ
スクリプト作成ウィンドウのメニューとダイアログ
スクリプトの実行
スクリプトファイル

スクリプトで実行できる機能

スクリプトでは,指定したファイルまたは実行開始時にアクティブであったウィンドウに対して,次の処理の中から指定した処理だけを,ここに書いた順序で実行します。これらの処理は,スクリプト作成ウィンドウの各チェックボックスにほぼ対応しています。指定するパラメータの詳細などは,スクリプト作成ウィンドの各項目を参照してください。

  1. 対象ファイルを開く

    指定した表,カード,ビューをオープンします。スクリプトを実行するときにすでにオープンされていてアクティブなウィンドウに表示されているデータを対象に処理することもできます。

  2. 表示形式の指定

    対象ファイルがカードのときは指定できません。

  3. 他のファイルからのデータを読込み

    読込み対象ファイル名または表に登録されている読込み定義名を指定します。

  4. 整列

    レコードを指定の索引または項目の値で整列します。

  5. 選択

    表に登録されている探索条件を使ってレコードを選択します。これ以降の処理は,選択された結果のウィンドウに対して実行されます。

  6. 検索

    表に登録されている探索条件を使ってレコードを探し,そのレコードまで移動します。

  7. 置換

    指定項目の値を一括して置換します。または再計算します。置換する値は,式または表に登録されている登録置換式の名前で指定します。

  8. 対話編集

    ここまでの処理が終了した時点で,利用者との対話編集モードに入り,表編集/カード編集ウィンドウで任意の操作が実行できます。[ファイル]-[実行]-[対話終了] で再びスクリプトの実行が継続されます。

  9. 併合

    表に登録されている併合定義を使って併合を実行します。

  10. 集計

    表に登録されている集計定義を使って集計を実行します。これ以降の処理は,集計結果のウィンドウに対して実行されます。

  11. クロス集計

    表に登録されているクロス集計定義を使ってクロス集計を実行します。これ以降の処理は,クロス集計結果のウィンドウに対して実行されます。

  12. 他のファイルへのレコードの書出し

    ここまでで得られたウィンドウのレコードを,他の表やファイルに書き出します。書出し対象ファイル名または表に登録されている書出し定義名を指定します。

  13. 印刷

    ここまでで得られたウィンドウの内容を指定の印刷形式あるいはカードで印刷します。

  14. 選択/集計/クロス集計ウィンドウを閉じる

    スクリプトの実行によって生成された導出ウィンドウを閉じます。

  15. スクリプトの繰返し実行

    スクリプトは決められた順番で処理を実行するだけであり,状況に応じて処理の流れを変えることはできませんが,同じ処理を繰返し実行させることだけはできます。繰返し実行を指定すると,「表示形式の指定」から「選択/集計/クロス集計ウィンドウを閉じる」までの処理を,次のいずれかが起きるまで繰り返します。

  16. 対象ファイルを閉じる

    スクリプトの対象ファイルを閉じます。対象ファイルを開いたままスクリプトを終了することもできます。

  17. 次に実行するファイルを指定する。

    一つのスクリプトを終了すると同時に,次に実行するスクリプトファイルまたは DPLファイルを指定することができます。「DBPro を終了する」を指定したときは,次に実行するファイルは指定できません。
    この機能を使って幾つもスクリプトを連続して実行させると,結果的にここに書いた順番以外の順序で処理を実行させることができます。

  18. DBPro を終了する

    スクリプトを終了すると同時に DBPro も終了させることもできます。


スクリプトの作成

スクリプトは,次の手順によって作成します。

  1. スクリプト中で使う各種の登録情報を準備します。

    スクリプトの各処理は,多くの場合に,あらかじめ表に登録された表示形式,読込み定義,索引,探索条件,登録置換式,併合定義,集計定義,クロス集計定義,書出し定義,印刷形式などを使って行なわれます。したがって,処理手順の概要を考えたならば,それらで使う各種の登録情報を用意します。これらは,表編集ウィンドウまたはカード編集ウィンドウで,通常の対話操作によって作成します。

  2. [ファイル]-[新規作成/定義変更]を選びます。

    新規作成/定義変更ダイアログで[ファイルの種類]を「スクリプト」にし,これから作成しようとするスクリプトファイルの名前を入力して,[OK]を押します。

  3. 表題や対象ファイルを指定します。

    最初に,スクリプト属性ダイアログが開くので,そこで表題,スクリプトの対象ファイル,対象ファイルを開くときのオープンモード,ウィンドウの大きさなどを指定します。

  4. 処理内容を指定します。

    スクリプト属性ダイアログで[OK]ボタンを押すと,スクリプト作成ウィンドウが開きます。このウィンドウがスクリプト作成のための主要なウィンドウです。実際に実行させたい処理をチェックします。詳細は次項の「スクリプト作成ウィンドウ」を参照してください。
    スクリプト作成ウィンドウでは,メニューバーからコマンドを選んで実行することができます。→スクリプト作成ウィンドウのメニューとダイアログ

  5. [ファイル]-[閉じる]を選びます。

    変更をファイルに保存するか否かの確認ダイアログが表示されます。このダイアログで[実行]ボタンを押すと,直ちにスクリプトの実行が始まります。


スクリプト作成ウィンドウ

スクリプト作成ウィンドウでは,実行したい処理をチェックし,必要に応じてパラメータを指定します。
実行の順序は,ウィンドウに表示されている順序になります。どうしても実行の順序を変更する必要があるときは,二つ以上のスクリプトに分割し,それらを連続して実行させることにより自由な順序で実行させることができます。

スクリプト作成ウィンドウ
対象ファイル
スクリプトが処理対象とする表ファイルまたはカードファイルの名前が表示されます。対象ファイルが「実行時指定」または「実行開始時のアクティブウィンドウ」(→スクリプト属性ダイアログ)の場合,それぞれ <実行時指定> または <アクティブウィンドウ> と表示されます。
表示
使用する表示形式を設定します。
チェックをオンにしたときは,使用する表示形式名を指定します。対象ファイルが指定してあるときには,リストボックスからそのファイルに登録してある表示形式を選ぶことができます。表示形式を指定しないか,あるいは <実行時指定> を指定すると,スクリプト実行時に表示形式ダイアログが表示され,実行時に表示形式を指定できます。
オフにすると,対象ファイルで使用されていた表示形式がそのまま使われます。
対象ファイルがカードファイルのときは淡色表示されて指定できません。
読込み
対象ファイルに他のファイルのデータを読み込むときにオンにして,読み込むファイル名を指定します。[...]ボタンを押すと,ファイル選択ダイアログでファイルを選べます。スクリプト属性ダイアログで[参照のみ]を指定したときは,読込みを実行できません。
対象ファイルに読込み定義が登録されている場合,プルダウンリストボックスを開いてそれらの読込み定義を選べます。読込み定義を指定したときは,その定義に従って読込みが実行されます。
読み込むファイルを指定しないか,あるいは <実行時指定> を指定すると,スクリプト実行時に読込みダイアログが表示されます。

注:
リストボックス中に指定した名前は,まず読込み定義の名前として解釈しようとします。そして,表ファイル中にその名前の読み込み定義が存在しないときにだけファイル名として解釈されます。したがって,表ファイルに登録されている読込み定義名と同じ名前のファイル名は指定できません。そのようなファイルを指定したいときは,ファイル名をフルパスで指定するか,同じフォルダを明示するための相対指定「.\」をファイル名の前に付けてください。

ファイル名で指定した場合,読み込むファイルが DBPro の表のときは,読込み実行時に項目名対応で読み込まれます。拡張子が .CSV または .TXT のときは,それぞれコンマ区切りまたはタブ区切りのテキストファイルとみなして,現在の表示形式の項目順序で読み込みます。
対象ファイルが対象表のないカードであったり,対象ファイルが参照のみで開かれた場合,読込みはできません。

最後へ
読込み対象をファイル名で指定したときだけ有効で,オンにすると対象ファイルの最後に読み込まれます。オフにするとそのときのセルカーソルの位置の直前に読み込まれます。
読込み定義を指定して読込みを実行する場合は,読込み定義中で指定した位置が優先するので無効です。
整列
対象ファイルを整列するときにチェックをオンにして,索引名または項目名を選びます。索引名,項目名ともに指定しないか,あるいは <実行時指定> では,スクリプト実行時に整列ダイアログが表示されます。

注:
ここでの項目名は,必ず角括弧 [ ] で括ってください。括られていない名前は索引名として解釈されます。

逆順
索引の最後のレコードを先頭に表示します。あるいは,項目のデータ型に応じて決められる整列順(辞書順または昇順)を逆順(辞書逆順または降順)にします。

選択
対象ファイルのレコードを選択するときにチェックをオンにして,探索条件名を指定します。 探索条件名の代わりに項目名を指定すると,実行時に項目選択ダイアログが表示され,指定した項目の値を指定してレコードを選択することができます。探索条件名,項目名ともに指定しないか,あるいは <実行時指定> では,スクリプト実行時に条件選択ダイアログが表示されます。<グループ選択> では[探す]-[グループ選択]が実行されます。

選択が成功すると選択ウィンドウが新たにオープンされ,以降の処理はこの選択ウィンドウが対象になります。

探索条件名を指定した場合,条件を満たすレコードがないときや,選択に失敗するとスクリプトは終了します。
<実行時指定> あるいは項目名指定の項目選択の場合,条件を満たすレコードがないときや,選択に失敗すると確認のメッセージが表示されます。
 再試行再び条件選択ダイアログあるいは項目選択ダイアログが表示され,選択を実行できます。
 中止スクリプトを中止します。
検索
対象ファイルのレコードを検索するときにチェックをオンにして,探索条件名を指定します。 探索条件名の代わりに項目名を指定すると,実行時に項目検索ダイアログが表示され,項目の値を指定してレコードを検索することができます。<先頭レコード>,<表の末尾> を指定すると,無条件にその位置にセルカーソルが移動します。探索条件名,項目名ともに指定しないか,あるいは <実行時指定> では,スクリプト実行時に条件検索ダイアログが表示されます。

検索が成功すると,セルカーソルがそのレコードに移動します。
該当レコードが見つからないときは,メッセージボックスが表示されます。[継続] を押すと,セルカーソルはそのときの位置のままでスクリプトは継続します。[中止] を押すと,スクリプトは中止されます。探索条件名を指定していないか,<実行時指定> あるいは項目名指定の項目検索の場合,[再試行] を押して,検索を繰り返すことができます。
置換
対象ファイルの特定項目を一斉置換するときにチェックをオンにして,置換式を指定します。対象ファイルに登録されている置換式名を指定すると,登録されている置換式に従って置換されます。スクリプト属性ダイアログで[参照のみ]を指定したときは,置換を実行できません。

注:
リストボックス中に指定した文字列は,まず登録置換式の名前として解釈しようとします。そして,表ファイル中にその名前の置換式が登録されていないときにだけ置換式として解釈されます。したがって,表ファイルに登録されている置換式名と同じ項目名だけで構成される置換式を指定したいときは,項目名を必ず角括弧 [ ] で括ってください。

置換式,登録置換式名ともに指定しないか,<実行時指定> を指定すると,スクリプト実行時に置換ダイアログが表示されます。<再計算> を指定すると,すべての計算項目の再計算を実行します。
対話編集
スクリプト実行中に,いったん対話編集をするときにチェックをオンにします。対話編集を指定しておくと,スクリプトの途中で表編集ウィンドウやカード編集ウィンドウで自由に操作できるようになります。
スクリプトの利用者が対話編集を終了してスクリプト処理を続けるときは,[ファイル]-[実行]-[対話終了] を選びます。
併合
対象ファイルで併合を実行するときにチェックをオンにして,併合定義名を指定します。併合定義名を指定しないか,あるいは <実行時指定> では,スクリプト実行時に併合ダイアログが表示されます。
併合選択を行なったときは,選択ウィンドウが新たにオープンされ,以降の処理対象はこの選択ウィンドウになります。併合に失敗するとスクリプトは終了します。
集計
対象ファイルで集計を実行するときにチェックをオンにして,集計定義名を指定します。集計定義名を指定しないか,あるいは <実行時指定> では,スクリプト実行時に集計ダイアログが表示されます。
集計が成功すると,集計ウィンドウが新たにオープンされ,以降の処理対象はこの集計ウィンドウになります。集計に失敗するとスクリプトは終了します。
クロス集計
対象ファイルでクロス集計を実行するときにチェックをオンにして,クロス集計定義名を指定します。クロス集計定義名を指定しないか,あるいは <実行時指定> では,スクリプト実行時にクロス集計ダイアログが表示されます。
クロス集計が成功すると,クロス集計ウィンドウが新たにオープンされ,以降の処理対象はこのクロス集計ウィンドウになります。クロス集計に失敗するとスクリプトは終了します。
書出し
対象ファイルから他のファイルにデータを書き出すときにチェックをオンにして,書き出し先のファイル名を指定します。[...]ボタンを押すと,ファイル選択ダイアログでファイルを選べます。
対象ファイルに書出し定義が登録されている場合,プルダウンリストボックスを開いてそれらの書出し定義を選べます。書出し定義を指定したときは,その定義に従って書出しが実行されます。
書出し先を指定しないか,あるいは <実行時指定> を指定すると,スクリプト実行時に書出しダイアログが表示されます。

注:
リストボックス中に指定した名前は,まず書出し定義の名前として解釈しようとします。そして,表ファイル中にその名前の書出し定義が存在しないときにだけファイル名として解釈されます。したがって,表ファイルに登録されている書出し定義名と同じ名前のファイル名は指定できません。そのようなファイルを指定したいときは,ファイル名をフルパスで指定するか,同じフォルダを明示するための相対指定「.\」をファイル名の前に付けてください。

書出し先としてファイル名を指定した場合,そのファイルがすでに存在しているときに上書きして良いかどうかの指定をします。
 問合わせ実行時にダイアログを表示し,利用者の指示を待ちます。
 追加書出し先が表ファイルの場合にだけ有効で,既存のデータに追加します。
 上書き既存のファイルは廃棄し,新たなファイルとして書き出します。
 データのみ上書き書出し先が表ファイルの場合にだけ有効で,既存レコードは削除し,データレコードの書出しだけを行ないます。
 中止スクリプトの実行を中止します。

書き出すファイルが DBPro の表のときは,「追加」や「データのみ上書き」のときは項目名対応で,「上書き」ならそのときの表示形式の項目順序で書き出します。拡張子が .CSV または .TXT のときは,それぞれコンマ区切りまたはタブ区切りのテキストファイルとみなして,現在の表示形式の項目順序で書き出します。

対象ファイルが対象表のないカードのときは,書出しはできません。対象表のあるカードのときは,対象表のデータを書き出します。
印刷
対象ファイルを印刷するときにチェックをオンにします。

対象ファイルが表ファイルなら印刷形式名を指定します。印刷形式名を指定しないか,あるいは <実行時指定> を指定すると,印刷形式ダイアログが表示されます。
クロス集計が指定されているときは,印刷形式を選ぶことはできません。印刷は常に標準の印刷形式で行なわれます。
対象ファイルがカードファイルの場合,<実行時指定> または <標準> が選べます。
 <実行時指定>実行時にカード印刷ダイアログが表示されます。
 <標準>対象のカードがすべて印刷されます。
選択/集計ウィンドウを閉じる
チェックをオンにすると,[印刷] までの指定された処理を終了したとき,スクリプト中でオープンした選択ウィンドウと集計ウィンドウをクローズします。
表示からここまで繰り返し
[表示] から [印刷] までの指定された処理を繰り返し実行します。
<実行時指定> の処理が含まれるときは,そのときのダイアログで [キャンセル] を押すとスクリプトが中止され,繰り返しはそこで終わります。
対話編集が含まれているときは,そのときに [ファイル]-[実行]-[終了] を選んでスクリプトを終了させることができます。このとき,[閉じる] 以降のスクリプト処理を実行してからスクリプトを終了します。[ファイル]-[実行]-[中止] を選ぶと,現在のウィンドウをオープンしたまま,スクリプトを中止します。
閉じる
スクリプト終了時に対象ファイルを閉じるときは,チェックをオンにします。オンにしたときは,対象ファイルから作成した選択ウィンドウ,集計ウィンドウも同時にクローズされます。オフにすると対象表は閉じられません。
[次に実行するファイル]を指定していなければ,[閉じる]でスクリプトは終了します。
次に実行するファイル
現在のスクリプトの実行が終了した後,続いて実行するスクリプトまたは DPLを指定できます。

次に実行するファイルに,現在定義中のスクリプトを指定すると,表ファイルのオープンとクローズが省略され,ただちに [表示] 以降の処理が実行されます。[ファイル]-[実行]-[終了] を選んだときも,ここに指定されているスクリプトが実行されることに注意してください。したがって,現在のスクリプトを指定して繰り返し実行させるときは,[ファイル]-[実行]-[中止] などの方法でなければスクリプトを終了させることができません。

スクリプト作成ウィンドウのメニューとダイアログ

スクリプト作成ウィンドウ固有のメニューコマンドは次のものだけです。これら以外のコマンドは,どのファイルウィンドウでも実行できる共通のコマンドです。→スクリプト作成ウィンドウのメニュー

 [ファイル]-[印刷] 作成・編集中のスクリプトの内容を印刷します。
 [属性]-[スクリプト属性] スクリプト属性ダイアログが開き,表題,対象ファイルなどのスクリプト属性を指定します。

スクリプトの実行

スクリプトの実行開始

  1. 作成したスクリプトを実行するには,[ファイル]-[実行]-[開始] を選びます。
  2. 実行ダイアログが表示されるので,ファイルの種類にスクリプトを指定します。目的のスクリプトファイルを指定して,[OK]を押すとスクリプトの実行が開始されます。
    スクリプト作成ウィンドウで指定した処理がウィンドウと同じ順序で実行され,実行の途中で作成された選択ウィンドウや集計ウィンドウが画面に表示されます。

対話編集からの実行再開

対話編集を指定しているとスクリプトがいったん停止して,表編集ウィンドウやカード編集ウィンドウでの通常の操作になります。対話編集以降のスクリプト処理を再開するには,[ファイル]-[実行]-[対話終了]を選びます。
スクリプトの残りの部分を実行するとき,スクリプトで作成された選択表や集計表のどれがアクティブになっていても構いません。そのときアクティブになっているウィンドウがスクリプトの対象になり,処理が再開されます。

実行時指定のダイアログ

処理の条件名や定義名などを <実行時指定> に指定してあるときは,それぞれ対応するダイアログが表示されます。条件名などを指定して[OK]を押すとスクリプト処理は継続されます。ダイアログの[キャンセル]を押すと,スクリプトも中止します。

スクリプトの終了と中止

スクリプトは指定してある一連の処理が終了すると,自動的に終了します。次に実行するスクリプトを指定してあるときは,そのスクリプトの実行を開始します。
次の方法でスクリプトを途中で終了あるいは中止させることができます。 終了するときは,指定したクローズ処理を実行しますが,中止のときはファイルはオープンされたままです。
選択や集計など指定した処理が失敗したときは,確認のダイアログが表示され,スクリプトの実行は自動的に中止されます。

スクリプトの休止

次の方法でスクリプトを途中で休止させることができます。 休止させたスクリプトを再開させるには,[実行]-[<実行中ファイル名>]からそのファイル名を選びます。

スクリプトファイル

[Header]セクション

[Script]セクション

DBProヘルプ目次へ