Photoshopでドキュメントを複製するjavaScriptを紹介します。
ドキュメントを複製するにはduplicate()メソッドを使います。
最初のパラメータには複製後のドキュメントの名前を指定します。
2番目のパラメータは複製時にレイヤーを統合するかどうかを指定します。
tureを指定すると結合され、falseを指定すると結合されません。
ちなみに、duplicate()メソッドのパラメータは全て省略できます。
サンプルコード1
1 |
activeDocument.duplicate("新しい名前",false); |
元のドキュメントの名前を使い、複製後の名前に反映したい場合はサンプルコード2のようにすると良いでしょう。
サンプルコード2
1 2 3 4 5 6 |
var doc_name = activeDocument.name; var doc_name_sakujo_kakutyousi = doc_name.substr(0, doc_name.length-4); var new_doc_name = doc_name_sakujo_kakutyousi + "の複製データ"; activeDocument.duplicate(new_doc_name,false); activeDocument.duplicate(new_doc_name,false); |
サンプルコード2の解説をします。
まずdoc_nameという変数に複製元のデータの名前を入れています。
doc_nameをそのまま使用すると、拡張子の後ろに「の複製データ」が追加されることになります。
複製元のドキュメント名が○○.psdだった場合は
「○○.psdの複製データ.psd」
みたいな感じになります。
気にされない方はこれでも良いと思うのですが、ファイル名にドットを使いたくない人も多いはずです。
これを避けるために、
var doc_name_sakujo_kakutyousi = doc_name.substr(0, doc_name.length-4);
この記述で、末尾の4文字を削除しています。
複製元のドキュメント名が○○.psdだった場合は、末尾の4文字は「.psd」になります。
末尾4文字を削除するということは、つまり、「.psd」が削除されることになります。
注意点として、複製元のドキュメントの拡張子が.jpegのように4文字だった場合は、(0, doc_name.length-4);を(0, doc_name.length-5);に書き換える必要があります。
substrは、adobe系のソフトだけで使えるメソッドではなく、web系でjavaScriptを記述する場合にも使えます。
ぜひ、覚えておきましょう。
コメントの書き込み