Hatena::ブログ(Diary)

名もないテクノ手 このページをアンテナに追加 RSSフィード Twitter

EPUB版『InDesign者のための正規表現入門』

InDesignのTips一覧

2009-01-24

[][][]連結している表の各ページの最後のrowを操作する

アドビユーザーフォーラムの質問に答えたのでメモ。

http://forums.adobe.co.jp/cgi-bin/WebX/.5146fe1e/0

処理したい表を選択して、スクリプトを実行するとそのページの最後のrowの塗りが赤くなります。

#セルからノンブルを得るっていうのは、以前に書いたものの使い回しなんだけど、やっぱりトリッキーだなぁ。

//Swatchの作成
function swatches_add(my_properties) {
	var my_swatch = false;//初期値
	var my_doc = app.activeDocument;//ターゲットドキュメントは

	//同名ならそのオブジェクトを返す
	for (i = 0; i < my_doc.swatches.length; i++) {
		if (my_doc.swatches[i].name == my_properties.name) {return my_doc.swatches[i];}
	}
	//Swatchの作成
	my_swatch = my_doc.colors.add(my_properties);
	return my_swatch;
}

var my_doc = app.activeDocument; 
var my_selection = my_doc.selection[0]; //tableを選択している
var my_class =my_selection.reflect.name; 
var my_page = "";
if(my_class == "Table") {
var my_swatch_01 = swatches_add({name:"myred", colorValue:[0, 50, 50, 0], model:ColorModel.PROCESS, space:ColorSpace.CMYK});//スウォッチの作成
	for(var i = (my_selection.rows.length -1); i >= 0; i--) {
		var tmp_page = my_selection.rows[i].cells[0].texts[0].parentTextFrames[0].parent.name;//ノンブルの取得
		if (my_page != tmp_page) {
			my_selection.rows[i].fillColor = my_swatch_01;//セルの塗りを変更
			my_page = tmp_page;
		}
	}
}

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/seuzo/20090124/1232772222