強制参照

BarTender では印刷ジョブの実行中にスクリプトを実行する最適な時間を決定したり、アクセスする必要のあるデータベースフィールドを決定するために、テンプレートの構造の検証と、スクリプトのテストランが行われます。 特に、BarTender ではデータベースフィールドとデータソースの名前の使用タイミングと方法が考慮されます。 データベースフィールドまたは共有名前付きデータソースが最初に評価されるように強制することが可能です。

条件ステートメントは、条件式の計算方法に応じて、さまざまなコードの「分岐」を実行します。 したがって、評価時の条件によっては、実行されないコードもでてきます。 これにより、フィールドや共有名への参照が、スクリプトのテストラン段階でスキップされるコードの中にあると、問題が生じる可能性があります。 関連付けられた条件ステートメントが、印刷時に、異なる計算結果を出し、フィールドや共有名が参照され、しかも前回のテストランではそれが参照されていなかった場合は、スクリプトの実行が最適時に行われずに、失敗することさえあります。

BarTender の組み込みの強制関数

[スクリプトエディタ] には、データベースフィールドやデータソースの名前を、スクリプトに「強制的に」参照させる以下の 2 つの関数が組み込まれています ReferenceField および ReferenceSharedSubString These functions don't change or assign any values. They simply force the application to notice the presence of an item that could be missed during the test run of a script. この関数により、BarTenderは必要なすべてのデータ フィールドに対してリンクを確実に確立することができ、スクリプトは印刷時の適切なイベントに応じて確実に実行されます。

BarTender 2016 ではフィールド番号 "<Empty>" の付いた VB スクリプトオブジェクトで以下のエラーメッセージ #3201 が表示されます。 「テンプレートのオブジェクトはフィールド '(フィールド名)' を読み出すよう設定されていましたが、 このフィールドは見つかりませんでした。 空白の文字列として不明なフィールドを使用して続行しますか?」 [はい] を選択すると、テンプレートのプレビューに指定された空白の文字列のフィールドが表示されます。 [いいえ] を選択すると、空白のフィールドに内容が追加されます。

Closedスクリプトエディタで 2 つの強制関数を検索するには

  1. [スクリプトアシスタント] ペインで [関数] ブックを展開します。

  2. [関数] の下で [宣言] ブックを展開します。 2 つのサブブック [ReferenceField] と [ReferenceSharedSubstring] が表示されます。

参照関数が、すべての条件ステートメントの前の「スクリプトの先頭」に最も適切な状態で挿入されます。

The ReferenceField sub-book will be available only if your template is connected to a database.

The ReferenceSharedSubString sub-book will be available only if you have a Named Data Source linked to an object on your template.

データベースフィールドまたは名前付きデータソースの強制参照

VB スクリプトにデータベースフィールドまたは名前付きデータソースへの参照を強制することができます。

Closedデータベースフィールドへの参照を強制するには

  1. [スクリプトアシスタント] ペインで [関数] > [宣言] > [ReferenceField] を開きます。

  2. 強制参照させるデータファイルフィールドの名前をダブルクリックします。 以下のコードスニペットが [スクリプト] ペインに表示されます。

    ReferenceField("field_name_or_field_number")

ドキュメントが標準的なテキストファイルからデータを読み取るよう設定されている場合は、ユーザーがフィールド「番号」を指定します。 データベースから読み取る場合は、フィールド「名」を指定します。 フィールド名そのものが変数内にない限り、必ず、ReferenceField ("price") のように、引用符内に名前を入力します。山括弧 (>) は使わないでください。

Closed名前付きデータソースへの参照を強制するには

  1. [スクリプトアシスタント] ペインで [関数] > [宣言] > [ReferenceSharedSubString] を開きます。

  2. 強制参照させる名前付きデータソースの名前をダブルクリックします。 以下のコードスニペットが [スクリプト] ペインに表示されます。

    ReferenceSharedSubString("share_name")

テンプレートのいずれかのデータソースに名前を指定してあれば、上記のように強制的にそれらを参照できます。 (データソース名が変数に保存され、名前が引用符で囲まれていない場合。)

関連トピック