beginUndoGroup()
記述
app.beginUndoGroup(undoString)
概要
Undoグループの始点。これは1度のUndoアクションで取り消し可能なスクリプトのアクションの論理グループを作成します。Undoグループの終点を指定するためにendUndoGroup()メソッドを使用します。この論理グループで指定した範囲が、(編集メニュー -> 「取り消し/やり直し」を実行する際の取り消しまたはやり直し1回の範囲となります。
beginUndoGroup()とendUndoGroup()の組み合わせはネスト可能です。グループ内に存在する別グループは大きなグループの一部として機能します(例としては関数内でのUndoの設定など)。この場合、内側に存在するグループの名称は無視されます。
引数
undoString
テキスト。編集メニューの「取り消し」コマンドで使用されます。
戻り値
なし
ノート
以下のコードはレイヤーの名称をA→ B→ Cと次々と変えます。このコードを実行後にAfter Effectsでアンドゥ(取り消し)を行うと、1回取り消しを行うごとにレイヤー名はC→ B→ Aと前の状態に戻ります。
app.project.item(1).layer(1).name = "A";
app.project.item(1).layer(1).name = "B";
app.project.item(1).layer(1).name = "C";
これにbeginUndoGroup()とendUndoGroup()を指定することで、指定された区間の処理が一度のアンドゥですべて取り消されるようになります。
app.beginUndoGroup("ChangeName");
app.project.item(1).layer(1).name = "A";
app.project.item(1).layer(1).name = "B";
app.project.item(1).layer(1).name = "C";
app.endUndoGroup();
この時、After Effectsの「編集」メニューで表示される取り消しメニューには引数で指定した名称が表示されます。