マクロ

マクロは、Designer の機能を拡張するための外部プラグインインターフェイスを提供します。例えば、マクロを実行して、フィールド名を変更し、すべての関連スクリプトの参照を更新したり、全体がコメントで構成されるスクリプトを検索したりできます。

注意: マクロは、スクリプトの作成者が信頼できる場合にのみ実行する必要があります。

マクロは JavaScript ファイル(JS)です。JavaScript エディターで JavaScript ファイルを作成し、Designer でスクリプトを実行します。マクロ内の JavaScript には、テンプレートモデルへのフルアクセス権があります。テンプレート DOM に加えて、ルート名前空間には designer というオブジェクトがあります。designer オブジェクトでは、Designer との直接通信に使用できるメソッドが提供されます。例えば、1 つのメソッドでは、SWF ダイアログボックスを起動し、そのダイアログボックスと文字列を交換して、カスタムユーザーインターフェイスを構築できます。

使用可能なスクリプティングメソッドについて詳しくは、『 スクリプティングリファレンス 』を参照してください。

Designer で使用するマクロを設定するには、Designer のインストールフォルダーに JavaScript ファイルのサブフォルダー構造を作成し、マクロメニュー(ツール/マクロ)から JavaScript ファイルを実行します。

Designer 用にマクロを設定するには

  1. 次のいずれかの操作を行います。

    • 共通マクロ(すべての言語)の場合は、Designer のインストールフォルダーに macros というサブフォルダーを作成します。例えば、<DesignerInstallationFolder>¥macros を作成します。

    • 言語固有のマクロの場合は、Designer のインストールフォルダーに各言語(ロケール)用のサブフォルダーを作成してから、各ロケールフォルダーに macros フォルダーを作成します。例えば、<DesignerInstallationFolder>¥EN¥macros を作成します。

  2. 各 macros フォルダーに、JavaScript 用の 1 つ以上のサブフォルダー(JS)と macro.xml ファイルを作成します。

  3. JavaScript ファイルと macro.xml ファイルを適切なサブフォルダーに保存します。マクロ JavaScript ファイルによって使用される SWF ファイルを同じフォルダーに置きます。

  4. Designer で、ツール/マクロをクリックします。マクロ(共通および言語固有)がマクロメニューに表示されます。

macro.xml 設定ファイルについて

macro.xml 設定ファイルを作成して、サブフォルダー内の各 JavaScript ファイルのマクロメニューに表示されるコマンド名を変更します。1 つ以上の JavaScript ファイルを含む各サブフォルダーに、macro.xml ファイルを 1 つ追加します。

次の例の macro.xml ファイルの label タグと script タグに注意してください。label タグは、マクロメニューに表示されるコマンド(Merge)の名前を囲みます。script タグは、関連付けられている JavaScript ファイル(mergenodes.js)の名前を囲みます。

macro.xml ファイルの例:

<?xml version="1.0" encoding="UTF-8"?> 
<designerMacros> 
<!-- one or more macros that are in the same directory can be specified in the same macro.xml config file --> 
<macro> 
    <!-- used as menu command text --> 
    <label>Merge</label> 
    <!-- A macro key can refer to only one script file --> 
    <script>mergenodes.js</script> 
</macro> 
</designerMacros>

macro.xml 設定ファイルの使用はオプションです。マクロのリストが更新されるとき、macros サブフォルダーで macro.xml ファイルが検索されます。サブフォルダーに macro.xml ファイルが見つからない場合は、JavaScript ファイルの名前がマクロメニューに表示されます。

macros サブフォルダーの整理

macros フォルダーに少なくとも 1 つのサブフォルダーを作成して JavaScript ファイルを格納します。JavaScript ファイルを macros フォルダーのすぐ下に保存した場合、それらのファイルは Designer のマクロメニューに表示されません。

macros サブフォルダーは様々な方法で整理できます。選択する方法はニーズによって決まります。存在する JavaScript ファイルの数、作成する macro.xml ファイルの数およびマクロメニュー上のコマンドの順序を考慮します。

macros サブフォルダーを整理する 1 つの方法は、すべての JavaScript ファイルを 1 つのサブフォルダーに保存することです。この方法では、1 つの macro.xml ファイルを使用して、そのフォルダーのすべての JavaScript ファイルの名前と、関連するマクロメニューのコマンドの名前を指定します。マクロメニューのコマンドの順序は、macro.xml ファイルにリストされているマクロの順序と同じです。

複数のマクロを含む macro.xml ファイルの例を次に示します。

<?xml version="1.0" encoding="UTF-8"?> 
<designerMacros> 
<macro> 
    <label>Get Designer Locale</label> 
    <!-- Description - Get Designer locale --> 
    <script>getLocale.js</script> 
</macro> 
<macro> 
    <label>Hello World</label> 
    <!-- Description - Display Hello World --> 
    <script>helloWorld.js</script> 
</macro> 
<macro> 
    <label>Highlight Text</label> 
    <!-- Description - Highlight text areas --> 
    <script>HighlightFields.js</script> 
</macro> 
<macro> 
    <label>Refactor</label> 
    <!-- Description - Refactor --> 
    <script>refactor.js</script> 
</macro> 
<macro> 
    <label>Show Flex Sample</label> 
    <!-- Description - Show Flex Sample --> 
    <script>showFlexSample.js</script> 
</macro> 
</designerMacros>

macros サブフォルダーを整理する別の方法として、JavaScript ファイルを別々のサブフォルダーに保存することもできます。各サブフォルダーの macro.xml ファイルを使用して、JavaScript ファイルの名前を指定し、関連するマクロメニューコマンドに名前を付けます。マクロメニューのコマンドの順序は、各 macro.xml ファイルにリストされているサブフォルダーとマクロの順序と同じです。

JavaScript ファイルに対して作成するすべてのサブフォルダーが、親 macros フォルダー(macros¥MyMacros)の子である必要があります。Designer では、最初のサブフォルダーより下のレベルのサブフォルダーはスキャンされません。JavaScript ファイルを macros サブフォルダーに追加した後で、ツールメニューの「マクロ」コマンドの下にファイルの名前が表示されます。JavaScript ファイル名以外の名前を表示するには、macro.xml という XML 設定ファイルを作成して名前を変更します。

マクロのローカライズ

Designer のインストールフォルダーに、マクロに関連付けられている JavaScript ファイルのサブフォルダー構造を作成します。作成するサブフォルダー構造は、マクロのローカライズを計画しているかどうかによって決まります。

すべての言語に共通なのでマクロをローカライズする必要がない場合は、Designer のインストールフォルダーに macros というサブフォルダーを作成します。例えば、c:¥program files¥Adobe¥Designer¥macros¥ を作成します。次に、実行する JavaScript ファイル用の 1 つ以上のサブフォルダーを macros サブフォルダーに作成します。すべての JavaScript ファイル用に 1 つのサブフォルダーを作成することも、JavaScript ファイルごとに別々のサブフォルダーを作成することもできます。フォームのロケールリスト(フォームのプロパティダイアログボックス/デフォルトパネル)で選択したロケールオプションにかかわらず、Designer によってこれらのサブフォルダー内の JavaScript ファイルがロードされます。

ロケール(言語)に固有なのでマクロをローカライズする必要がある場合は、Designer のインストールフォルダーに各ロケール用のサブフォルダーを作成します。次に、各ロケールサブフォルダーに macros サブフォルダーを作成し、ロケールサブフォルダーに Javascript ファイル用の 1 つ以上のサブフォルダーを作成します。例えば、c:¥program files¥Adobe¥Designer¥EN¥macros¥ を作成します。Designer のアプリケーション言語に基づいて、Designer によってこれらのフォルダー内の JavaScript ファイルがロードされます。

マクロのロギング

Designer でロードされるマクロが不明な場合は、マクロのログファイルを確認できます。

Designer では、C:¥Documents and Settings¥<username>¥Application Data¥Adobe¥Designer¥<Designer version number> にある Designer アプリケーションデータフォルダーに MacrosLog.log というログファイルが作成されます。

MacrosLog.log ファイルには、Designer にロードされたマクロがリストされています。