テキストのみ別レイヤーに移動させる他

途中まで作成してしまったドキュメントなどで、テキストだけ別レイヤーに移動させたい場合があります。新規レイヤーを作ってテキストを選択してコピーして前面に・・・とやるのは面倒なのでスクリプトで一括して処理しましょう。以下のスクリプトを使えば、テキストに限らずまとめて全部選択して実行するだけで、自動的にテキストのみ別レイヤーに移動させてくれます。バージョン10とCSはSHIFT JISの文字コードで、CS2はUTF-8で保存してから実行してください。(間違えると動きません)

【バージョン10用】
layObj = activeDocument.layers.add();
selObj = activeDocument.selection;
for (i=0; i<selObj.length; i++)
{
if(selObj[i].typename == "TextArtItem")
{
dupObj = selObj[i].duplicate();
dupObj.moveToBeginning(layObj);
selObj[i].remove();
}
}

【バージョンCS/CS2用】
layObj = activeDocument.layers.add();
selObj = activeDocument.selection;
for (i=0; i<selObj.length; i++)
{
if(selObj[i].typename == "TextFrame")
{
dupObj = selObj[i].duplicate();
dupObj.moveToBeginning(layObj);
selObj[i].remove();
}
}


あと、おまけで役立たない気もするスクリプト2つです。使用する際には上記のスクリプトと同様にバージョン10とCSはSHIFT JISの文字コードで、CS2はUTF-8で保存してから実行してください。

【開かれている全てのドキュメントの表示の中心を原点にする】
docObj = documents;
for (i=0; i<docObj.length; i++)
{
docObj[i].views[0].centerPoint = [0,0];
}

【開かれている全てのドキュメントの表示倍率を100%にする】
docObj = documents;
for (i=0; i<docObj.length; i++)
{
docObj[i].views[0].zoom = 1;
}



[サンプルをダウンロード]