プロジェクトパネルで選んだ各コンポを、元の1個を含めて合計100個にします。
追加する数は99個で、コンポを2個選んだ場合は99個ずつ、合計198個を追加します。
最終調査日:2026年10月3日。
選択・型判定・追加数・途中停止はローカルで検査しています。
AE本体での大量複製・処理時間・取り消しは未確認です。
コンポとフッテージの複製を分ける
このコードはCompItemだけを対象にします。
フッテージやフォルダーを混ぜて選ぶと、追加前に停止します。
フッテージを少数複製する場合は、プロジェクトパネルで対象を選んで「編集→複製」(WindowsはCtrl+D、MacはCommand+D)を使います。
コンポのduplicate()をフッテージでも使えると決めつけません。
コンポを複製しても、内部で参照する画像・動画・プリコンポまで独立した別素材にはしません。
同じソースを変更すると複数のコピーへ影響するため、名前違いの独立データが必要な作業と区別します。
各選択コンポを合計100個にするコード
先に別名保存し、totalPerCompを3へ変更して小さな練習から始めます。
DuplicateComps.jsxとして保存し、プロジェクトパネルでコンポを選んで「ファイル→スクリプト→スクリプトファイルを実行」から実行します。
(function () {
var selected = app.project.selection;
var totalPerComp = 100; // 元コンポを含む合計数
if (!selected.length) { alert("プロジェクトパネルでコンポを選択してください。"); return; }
var targets = [], i, j;
for (i = 0; i < selected.length; i++) {
if (!(selected[i] instanceof CompItem)) {
alert("コンポだけを選択してください。フッテージとフォルダーは対象外です。"); return;
}
targets.push(selected[i]);
}
if (totalPerComp < 1 || totalPerComp !== Math.floor(totalPerComp) ||
targets.length * (totalPerComp - 1) > 500) {
alert("合計数は1以上の整数、今回追加するコンポは500個以内にしてください。"); return;
}
var made = 0;
app.beginUndoGroup("選択コンポを複製");
try {
for (i = 0; i < targets.length; i++) {
for (j = 1; j < totalPerComp; j++) { targets[i].duplicate(); made++; }
}
alert("追加したコンポ:" + made + "個");
} catch (error) {
alert("途中停止(追加" + made + "個):" + error.toString() + "\n編集→取り消しで今回分を戻してください。");
} finally { app.endUndoGroup(); }
}());
| 入力 | 追加数 | 確認する点 |
|---|---|---|
| コンポ1個/totalPerComp=3 | 2個追加 | 元を含め3個 |
| コンポ2個/totalPerComp=100 | 198個追加 | 各コンポ系列で100個 |
| 選択0・コンポ以外を混在 | 追加0 | 選択と対象を確認 |
| 追加総数が500個超 | 追加0で停止 | 少数から実行範囲を決める |
選択した対象を最初に配列へ保存し、複製でプロジェクト項目が増えても処理対象を増やしません。
合計数を101へ変えると各元コンポへ100個追加するため、「追加100」と「合計100」を分けます。
失敗したときの切り分けと復元
タイムラインのレイヤー選択だけで実行せず、プロジェクトパネルのコンポ項目を選択します。
停止メッセージでは対象型と追加数の上限を確認します。
処理中の例外では、成功した追加数を表示して停止します。
再実行を重ねず「編集→取り消し」で今回の複製を戻し、元の個数を確認してから保存コピーを使います。
次の画像は旧記事の参考画像で、今回改訂コードの実行結果ではありません。

仕様の参照:CompItem.duplicate()、FootageItemの仕様、Adobeのスクリプト実行方法。
手動複製の参照:Adobeのプロジェクト項目の複製手順。
枠を揃えるときはコンポサイズのシェイプ、中のレイヤーを移すときは単純2Dプリコンポの展開を参照します。
関連記事と旧配布資料
関連記事は目的に応じて使い分けます。
旧配布コードと、このページの改訂コードは同じものではありません。





