■プログラム説明(ソースコード説明)
全ページにあるテキストフレーム以外のオブジェクトを削除するにはallPageItemsのconstructor.nameを調べます。この名前がTextFrameの場合は、オブジェクトがテキストフレームということを示しているので、そうでない場合にremove()を使ってオブジェクトを削除します。削除すると内部のオブジェクト順が変わってしまうため、再度オブジェクトが存在するかどうかを調べて完全になくなるまで繰り返すようにします。
■ソースコード
function delItem(delName)
{
pageObj = app.activeDocument.pages;
for (i=0; i<pageObj.length; i++)
{
flag = true;
while(flag)
{
for (j=0; j<pageObj[i].allPageItems.length; j++)
{
dType = pageObj[i].allPageItems[j].constructor.name;
if (dType != delName) pageObj[i].allPageItems[j].remove();
}
flag = false;
for (j=0; j<pageObj[i].allPageItems.length; j++)
{
dType = pageObj[i].allPageItems[j].constructor.name;
if (dType != delName) flag = true;
}
}
}
}
delItem("TextFrame");
■使い方
1:スクリプトを実行します。
2:全ページ内にあるテキストフレーム以外のオブジェクトが削除されます。
■ポイント
ページ内に含まれる項目には以下の種類があります。
テキストフレーム TextFrame
四角形 Rectangle
楕円 Oval
多角形 Polygon
グラフィック線 GraphicLine
■実際のスクリプトをダウンロード(sample.jsx.zip)