スクリプトエディタではスクリプトを編集できます。上部にはツールバーがあり、編集対象のスクリプトの実行や停止などを行うことができます。
利用手順:
リボン
|
アドイン・拡張 > ツール > スクリプト > 対象のスクリプトを右クリック > スクリプトの編集
|
項目
|
説明
|
Enterprise Architectのスクリプトで利用するオブジェクト
|
Enterprise Architectでは、作成したモデルに対する操作を可能にするために、独自のオブジェクトを提供しています。
一つはインテリセンス機能を可能にするためのタイプライブラリであり、もう一つは、タイプライブラリで定義されるオブジェクトを利用するための実行時オブジェクトです。
インテリセンス機能が有効になるオブジェクトは以下のものです。:
- EA
- MathLib
(実行時には下記のMathsを利用してください。) - System
- 実行時オブジェクト(下記内容をご覧下さい)
利用可能な実行時オブジェクトには次のものがあります。:
- Repository [Type: IDualRepository] - 詳細は 「API」のページをご覧下さい。
- Maths [Type: IMath ] - 下記説明をご覧下さい。
- Session [Type: ISession ] - スクリプト作成時に役立つユーティリティ機能を提供しています。
|
インテリセンス機能を利用した編集
|
インテリセンス機能はスクリプトエディタだけでなく、スクリプトのコンソールでも利用できます。変数に対してインテリセンス機能を利用するには、変数の型を宣言する必要があります。
スクリプトの実行のためには、変数の型を宣言する必要はありません。
次の内容は宣言の例になります。
Dim e as EA.Package
インテリセンス機能は自動的に有効になります。変数の利用時に、e.と入力したところで候補の一覧が表示されます。
VBTrace( e.
候補の中から希望する内容をダブルクリックして下さい。選択した内容が入力されます。
|
キー操作
|
スクリプトエディタやコンソールにおいて、インテリセンス機能は次の状況で動作します。
- . (ピリオド)を型宣言された変数の後に入力する
- 既に存在するピリオドの直後で [Ctrl+スペース] キーを押すと、その時点での入力可能な候補が表示されます。
- 何もないところで [Ctrl+スペース] キー を押すと、現在のスクリプト言語で利用可能なすべての項目が一覧に表示されます。
|
他のスクリプトの読み込み
|
Include命令 ( !INC ) を利用すると、スクリプトサブウィンドウ内に表示されている、他のスクリプトで定義されている定数・関数・変数を利用できます。通常、スクリプトの先頭付近で宣言・利用します。
利用する場合の文法は次の通りです。
!INC [スクリプトグループ名].[スクリプト名]
例:
!INC Local Scripts.EAConstants-VBScript
|
Math関数を利用する
|
スクリプトエディタでは、さまざまな数学関数を利用できます。数学関数はMathオブジェクトが持つメソッドとして定義されています。Math関数は、ユニファイド版以上のエディションで利用できます。
利用する場合には、スクリプトエディタ内でMathという文字列に続いてピリオドを入力すると、インテリセンス機能により利用可能な関数が表示されます。Cephesの数学ライブラリとほぼ同じ関数を提供しています。
このMathsの仕様はこのヘルプには含まれていません。
以下の内容は、利用の一例です。
Session.Output "The square root of 9 is " & Maths.sqrt(9)
Session.Output "2^10 = " & Maths.pow(2,10)
|
COM / ActiveXのオブジェクトを利用する
|
VBScript, JScriptおよびJavaScriptでは、COMやActiveXのオブジェクトを利用できます。これにより、外部のライブラリなどで定義されている機能を呼び出すことができるようになり、他のアプリケーションとの連携なども可能となります。
例えば、Scripting.FileSystemObjectを利用することで、ローカルマシンのファイルに対する操作ができます。それぞれの言語でのオブジェクトの作成例は以下の通りです。
- VBScript:
set fsObject = CreateObject("Scripting.FileSystemObject") - JScript:
fsObject = new ActiveXObject("Scripting.FileSystemObject"); - JavaScript:
fsObject = new COMObject("Scripting.FileSystemObject");
|
JavaScriptからプロセス外のCOMサーバを呼び出す
|
JavaScriptから、Enterprise Architectのプロセス外のCOMサーバを呼び出せます。呼び出し先のアプリケーションは、ローカルサーバとして動作するように登録されている必要があります。
作成および参照の取得例は次の通りです。
var server = new COMObject (progID, true);
ここで、progIDは、COMコンポーネントの登録されているIDです。
例: Excel.Application
|
スクリプトライブラリ
|
Enterprise Architectでは、スクリプトの作成時に役に立つ関数・定数を定義したスクリプトライブラリを提供しています。CSV形式やXML形式の入出力など、いくつかのライブラリがあります。
このスクリプトライブラリを利用するには、MDGテクノロジー「EAScriptLib」を有効にして下さい。スクリプトサブウィドウに「EAScriptLib」グループが表示されますので、上記の!INCで読み込んで下さい。
|
注意:
|
- この機能はコーポレート版以上で利用可能です。
- Enterprise Architectのオブジェクトについて、型指定してある場合には、エディタ内での編集中にインテリセンス機能が有効になります。スクリプトの実行のためには、この型宣言は不要です。
|
参照: