ドキュメントスクリプトの定義

<< 目次を表示 >>

ページ位置:  ドキュメントの生成 > DOCX/PDF/RTFドキュメント > ドキュメントのテンプレート > テンプレート部品 > テンプレート部品の定義 >

ドキュメントスクリプトの定義

独自に定義するテンプレート部品で、ドキュメントスクリプトを実行し戻される値を元に内容を出力するように設定することができます。ドキュメントスクリプトは、空文字列かRTF形式の文字列を返すものでなければなりません。通常は、DocumentGeneratorオブジェクトを利用します。

 

次のコードはスクリプトの一例です。

 

!INC Local Scripts.EAConstants-JScript

function main()

{

    var reporting as EA.DocumentGenerator;

    reporting = CreateDocumentGenerator();

    if(reporting != null)

    {

         if(reporting.NewDocument(""))

         {

              if(!reporting.LoadDocument("<filename>"))

              {

                   Session.Output( "Error: " + reporting.GetLastError() );

              }

              return reporting.GetDocumentAsRTF();

         }

    }

}

 

 

ドキュメントスクリプトのテンプレート部品の定義

#

操作方法

1

テンプレートエディタで、対象のテンプレート部品を開きます。

2

テンプレートエディタのツールバーにある ボタンを押し、テンプレートのオプションダイアログを開きます。

3

「カスタムクエリ」 のタブを開きます。

4

「テンプレート部品の種類」において、「ドキュメントスクリプト」を選択します。

5

「テンプレート部品の種類」の欄の右端にドロップダウンリストが表示されので、対象のスクリプトを選択します。

(参考:スクリプトエディタ)

6

「テンプレート部品の種類」の欄の下にあるテキストボックスには、そのスクリプトを呼び出す方法を記載します。

 

例えば、JScriptの場合で対象の要素のIDを受け取る場合には、次のように記載します。

    Main(#OBJECTID#);

(VBScriptの場合には、末尾のセミコロンは不要です。)

7

OKボタンを押し、ダイアログを閉じます。

8

テンプレートエディタで、「カスタム」のセクションを追加します。このセクションに、スクリプトの結果が挿入されます。

9

通常のテンプレートから、作成したテンプレート部品を呼び出すように構成します。

 

注意:

モデルの検索で利用できるマクロ #..# は、呼び出しの内容でも利用できます。具体的には、次の項目が利用できます。

  • #OBJECTID# は対象の要素のElementIDが設定されます。
  • #PACKAGEID# あるいは #Package# は対象のパッケージのPackageIDが設定されます。
  • #Branch# は、処理中のパッケージの子パッケージのPackageIDが設定されます。再帰的に処理する場合に有用です。対象が要素の場合には、この値は0となります。

 

 

参照: