変数

Designer では、フォーム変数を定義することで、一元的にアクセスできる場所に特定の情報を格納して集中管理できます。「変数」は通常、将来変更する可能性のあるテキストのプレースホルダーとして使用されます。Designer のフォーム変数は、常に、「文字列」型です。例えば、メッセージボックスのタイトルになるテキストを保存できます。テキストを変更する必要が生じた場合は、関連するフォームまたはテンプレートを一旦開き、該当する変数定義によって内容が変化するテキストを更新します。これにより Designer は、その変数が使用されているすべての箇所に新しいテキストを自動的に反映します。

フォーム変数はスクリプトエディターの外で定義され、同じフォーム上にあるすべてのオブジェクトに設定されたスクリプトからアクセスできます。この点は、特定の FormCalc または JavaScript スクリプト内で作成されるスクリプト変数と異なります。

スクリプトを使用せずに、変数の作成、表示および削除が可能です。しかし、変数が保存している値にアクセスして変更を加えたり、フォームのオブジェクトに値を適用するには、スクリプトが必要です。

注意: フォームの変数値は、フォームを開くたびにリセットされます。

変数を作成する場合には、まず変数の名前と、そこに入れたいテキストを決定します。変数の定義はフォームまたはテンプレートの中に保存されます。

変数名の設定

実行時、変数の名前が XML フォームオブジェクトモデルのプロパティ、メソッドまたはフォームデザインのフィールド名として使用される名前と一致する場合に、名前の競合が発生します。名前が競合すると、スクリプトが予期せぬ値を返すことがあるので、各変数には一意の名前を割り当てるようにしてください。以下に 2 つの例を示します。

  • x および y という変数名の代わりに、fieldWidth および fieldHeight という変数名を使用します。

  • name というフォームデザインオブジェクト名の代わりに、clientName という名前を使用します。

    注意: 変数名では大文字と小文字が区別され、スペースは使用できません。

テキスト変数を定義するには

  1. ファイル/フォームのプロパティを選択します。

  2. 「変数」タブで、新規(挿入) をクリックします。

  3. 「変数」リストから、変数に一意の名前を入力し、Enter キーを押します。変数名では大文字と小文字が区別され、スペースは使用できません。

  4. 右のボックスをクリックし、変数に入れたいテキストを入力します。

    階層パレットのフォームレベルに変数が表示されます。

テキスト変数の定義を表示するには

  1. ファイル/フォームのプロパティを選択します。

  2. 「変数」タブをクリックし、変数リストから目的の変数を選択します。右のボックスに、その変数に関連付けられたテキストが表示されます。

テキスト変数を削除するには

  1. ファイル/フォームのプロパティを選択します。

  2. 「変数」タブで変数を選択し、「削除」(削除) をクリックします。

演算とスクリプトでの変数の使用

フォームの変数を作成すると、あとは変数名を演算やスクリプトで参照すれば、変数の値を取得できます。

重要: 変数名を決める際には、XML フォームオブジェクトモデルのプロパティ、メソッドまたはオブジェクトと同じ名前は使用しないでください。

XML フォームオブジェクトモデルのプロパティ、メソッド、オブジェクトについて詳しくは、『スクリプティングリファレンス』を参照してください。

例えば、フォーム内で以下の変数を定義します。

変数名

firstName

Tony

lastName

Blue

age

32

FormCalc ではフィールドやオブジェクトの値と同様に変数の値を参照できます。この例では、変数の値を次のように 3 つのフィールドに代入します。

    TextField1 = firstName 
    TextField2 = lastName 
    NumericField1 = age

また、次の例のように FormCalc 関数でも同様に変数を使用できます。

    Concat( "Dear ", firstName, lastName )

JavaScript では、次の例のように、変数の値の参照には、フィールドやオブジェクトの値に使用する .rawValue プロパティに代わって、.value プロパティを使用します。

TextField1.rawValue = firstName.value;

注意: XFA フォームのスクリプティングでフォーム変数を使用または変更すると、Acrobat および Adobe Reader では、署名の検証ステータスに関するドキュメントメッセージバーが表示されます。このメッセージでは、その後ドキュメントに加えられた変更が原因で、署名の有効性が不明であることが警告されます。