DTP駆け込み寺

No.14562へ返信

記事投稿フォーム
補助
送信

[ 返信 ]

Re: スクリプトで選択段落のアンカー付きオブジェクトを削除

PPC Mac なので InDesign CS4 で動作確認しただけですが、

//-------ここから
//選択テキスト範囲を含む段落
var myParagraphs = app.selection[0].paragraphs;
for (var i=0; i<myParagraphs.length; i++){
//段落中のページアイテムをチェック(削除するとlengthが減少するので後ろから)
for (var j=myParagraphs[i].pageItems.length; j>0; j--){
//エラーがでるかもしれないので安全策でtry〜catchのなかに入れておきます。
try {
//アンカー付きオブジェクトならば(インラインまたは行の上でなければ)
if (myParagraphs[i].pageItems[j-1].anchoredObjectSettings.anchoredPosition == AnchorPosition.anchored) {
myParagraphs[i].pageItems[j-1].remove(); //削除
}
} catch(e){}
}
}
//----ここまで

remove()で削除していますので、カット&ペースト等で再利用するためにはそれなりの工夫が必要です。

[14562] ななし (2012/08/30 Thu 14:02)