InDesign で (非常に大きな) スクリプトを実行しています。このスクリプトは、ある時点でライブラリ アセットをページに配置し、それを特定のレイヤーに移動します。このスクリプトは、ここにあるすべてのコンピューターで正常に実行されますが、その時点で InDesign で開いているドキュメントが他にない場合に限られます。
別のドキュメントが開いている場合、スクリプトが配置されたアセットを別のレイヤーに移動しようとすると、エラーが表示されます。
JavaScript エラー!
エラー番号: 54 エラー文字列: キャッチされていない JavaScript 例外: 行番号 2651 のエラー セット プロパティ 'itemLayer' の無効な値。レイヤーを予期していましたが、レイヤーを受け取りました。
太字の部分に注目してください。期待していたものを受け取ったので、かんしゃくを投げますか?これは私には意味がありません。記録のために、参照しているコード行を次に示します。
curAsset[0].itemLayer = document.layers.item("Art Work (max imprint)");
そして、記録のために、ライブラリから取得され、ドキュメントに既に配置されてcurAsset[0]
いるアセット オブジェクトです。Anddocument
は、現在開いているドキュメントに既に割り当てられている変数です。
私の作業理論は、InDesign で開いている他のドキュメントがこのエラーを引き起こしているというものです。これは、これまでに作成できた唯一の相関関係ですが、方法がわかりません。スクリプトには、document
開いているドキュメントの 1 つだけを参照する変数 が既に含まれています。そして、この 1 行を除いて (これまでのところ)、スクリプト内の他のすべてが正常に実行されます。