新しい作業フォルダ、その中のcomps・footageフォルダ、空の作業コンポをまとめて作成します。
旧記事では主用途のコードが欠けていたため、作成から結果確認まで行えるコードを掲載しました。
コードはローカルのAPI模擬テストで検証しています。
AEでの画面・取り消し・素材参照の維持は未確認のため、実案件の前に別名保存した練習プロジェクトで確認してください。
作成する階層とコンポの設定
初期設定では最上階層にCGM_workを作り、その中にcompsとfootageを置きます。
comps内にCGM_mainを作成します。
CGM_mainは1920×1080、ピクセル比1、30fps、10秒です。
素材の読み込みやラベル色の一括変更は行いません。
既存の同名出力フォルダまたは同名コンポがあると、変更前に中止します。
既存アイテムを再利用・改名・削除する処理ではありません。
| 設定 | 初期値 | 変更できる範囲 |
|---|---|---|
| WIDTH / HEIGHT | 1920 / 1080 | 整数4〜30000px |
| FPS | 30 | 1〜99fps |
| DURATION | 10 | 0より大きく10800秒以内 |
| ROOT_NAME / COMP_NAME | CGM_work / CGM_main | 既存と重複しない名前 |
作成用スクリプト
先頭の設定値を必要に応じて変更し、create-project-layout.jsxとして保存します。
/* Create a named, empty working structure. Never reuse/rename/delete existing items. Native AE pending. */
(function () {
var ROOT_NAME = "CGM_work";
var COMP_NAME = "CGM_main";
var WIDTH = 1920, HEIGHT = 1080, FPS = 30, DURATION = 10;
var project = app.project;
if (!project || project.numItems > 2000) { alert("プロジェクトを開き、2000アイテム以内で実行してください。"); return; }
function finite(value) { return typeof value === "number" && isFinite(value); }
if (!ROOT_NAME || !COMP_NAME || !finite(WIDTH) || !finite(HEIGHT) || WIDTH % 1 || HEIGHT % 1 || WIDTH < 4 || WIDTH > 30000 || HEIGHT < 4 || HEIGHT > 30000 || !finite(FPS) || FPS < 1 || FPS > 99 || !finite(DURATION) || DURATION <= 0 || DURATION > 10800) {
alert("名前と寸法・フレームレート・尺を確認してください。"); return;
}
for (var i = 1; i <= project.numItems; i++) {
var item = project.item(i);
if ((item instanceof FolderItem && item.name === ROOT_NAME) || (item instanceof CompItem && item.name === COMP_NAME)) {
alert("同名の出力フォルダまたはコンポがあります。新しい名前を指定してください。"); return;
}
}
app.beginUndoGroup("作業コンポとフォルダを作成");
try {
var root = project.items.addFolder(ROOT_NAME);
var comps = project.items.addFolder("comps"); comps.parentFolder = root;
var footage = project.items.addFolder("footage"); footage.parentFolder = root;
var comp = project.items.addComp(COMP_NAME, WIDTH, HEIGHT, 1, DURATION, FPS);
comp.parentFolder = comps;
alert(ROOT_NAME + "内にcomps・footageを作成し、" + COMP_NAME + "をcompsへ配置しました。コンポは手動で開いて確認してください。");
} catch (error) { alert("一部の作成が残る場合があります。編集メニューで取り消して確認してください。\n" + error.toString()); }
finally { app.endUndoGroup(); }
}());
コードをUTF-8のテキストファイルに保存して拡張子を.jsxにします。
After Effectsの「ファイル」→「スクリプト」→「スクリプトファイルを実行」から選択してください。
スクリプトの常設インストールは必要ありません。
空の練習プロジェクトで実行する
練習プロジェクトを別名保存してから実行します。
CGM_work内に2フォルダ、comps内にCGM_mainが作成されたか確認してください。
CGM_mainを手動で開き、コンポジション設定でサイズ・fps・尺・ピクセル比を照合します。
スクリプトからコンポ画面を開く処理は行っていません。
同じ設定で再実行したときは名前の競合で中止し、フォルダやコンポが増えないことを確認します。
別セットを作るときはROOT_NAMEとCOMP_NAMEの両方を変更してください。
戻し方と作成途中のエラー
「編集」メニューで直前の作成を1回取り消し、新規コンポと3フォルダがなくなり、既存アイテムが維持されているか確認します。
期待どおりでなければ別名保存したプロジェクトを開き直してください。
設定値のエラーは寸法・fps・尺・名前を確認します。
途中の例外では作成したフォルダの一部が残る可能性があるため、手動でまとめて削除する前に取り消しと別名保存からの復元を試します。
参考資料と関連記事
ItemCollection.addComp・addFolder、Undoグループを参照しました。
GitHubの旧記事用データは、この作成コードと同期していません。
資料確認日:2026年10月3日。
API資料はコミュニティ管理のAfter Effects Scripting Guideで、Adobe公式のスクリプト実行方法も参照しました。
関連記事
素材移動・分類・選択・新規作成・ディスクへの保存は変更範囲が異なります。
GitHubの旧実装は本稿の修正版とは同期していません。





