読者です 読者をやめる 読者になる 読者になる

k_ikiの雑記帳

DTPのこと、創作のことなど、思いつくまま

unlinkTextFrames.jsx

そういや、こないだ「InDesignでテキストフレームを連結するスクリプト」をカネムーさんのところで勉強させていただき、選択フレームにスクリプトラベルをナンバリングするってのを作った。
それはいいけど、今日は連結したテキストフレームを連結解除する必要があった。
今までやったことなかったっけ。標準機能でできないってこと初めて知った(^^;
もうね。どれだけ使ってても、使い方に偏りがあるってことですなぁ。
つーわけで、選択中のページアイテムの中に連結されているテキストフレームがあれば連結を解除する豆スクリプト。
Windows XP sp3/InDesign CS3 v5.0.4 にて動作確認済。
 
※2010年4月30日正午ごろ追記:
コメントにてmilligrammeさんよりコメントいただき、スクリプト末尾にあった余計な“}”をひとつ削除しました。ご指摘ありがとうございます。
※2010年4月30日13:00ごろ追記:
milligrammeさんもブログで選択テキストフレームの連結解除スクリプトを書いておられます。
こちら→「InDesign_テキスト連結を解除するスクリプト
※2013年1月21日13:00ごろ追記:上記リンク先がデッドリンクになっていたことに気付いたので新しいURLに差し替えました
 
下記スクリプトとの大きな違いは、mgさんのスクリプトを使えばグループ化されている連結フレームの連結も解除できる点。どちらがより汎用性が高いかなんて自明ですな(^^)
いつも勉強させていただいておりますm(_ _)m
 

/*
	ざっくり選択してテキストフレームだけ連結解除したい場合に。
	
	ページアイテムを選択して実行
	選択オブジェクト中に連結されているテキストフレームがあれば解除する。
*/
(function(){
	var sels=app.activeDocument.selection;
	//テキストフレーム以外を削除
	for(var i=sels.length-1;i>-1;i--){
		if(sels[i].constructor.name!=='TextFrame'){
			sels.splice(i,1);
		}else{
			sels[i].nextTextFrame=NothingEnum.NOTHING;
		}
	}
	//0なら抜ける
	if(sels.length==0) return;
})();