|
複雑な表組みを作っているとき、 どうしても一つの表だけでは無理そうなので 表の上に別の表を乗せたりするのですが(変更とかもあるので) そのとき、あるセルの座標値がわかればいいなと思ったのですが どこかに座標値ってあるんでしょうか?(位置あわせが大変なので) AppleScriptで出来ればありがたいのですが 用語説明にboundsとかなさそうですね よろしくお願いいたします。
|
No.2581 2009/03/13(Fri) 00:21:03
Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; ja-jp) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
|
Re: セルの座標値 / shinji |
|
|
|
環境を忘れていました MacOS10.4.11 CS3です よろしくお願いいたします。
|
No.2582 2009/03/13(Fri) 00:34:10
Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; ja-jp) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
|
|
Re: セルの座標値 / せうぞー |
|
|
No.2583 2009/03/13(Fri) 01:08:48
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; ja-jp) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
|
|
Re: セルの座標値 / shinji |
|
|
|
せうぞーさん、いつもありがとうございます。
やはりセルの属性からは取得は無理みたいですね ご指摘のhorizontal offsetでやってみます。
|
No.2589 2009/03/13(Fri) 12:18:09
Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; ja-jp) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
|
|
Re: セルの座標値 / shinji |
|
|
|
セル内で文字がセンター合わせになっているときや 指定値を使用しているときなどがあるので horizontal offsetではうまくセルの横位置が出せないですね。 それとbaselineの数値から縦位置の出し方もよくわかりませんでした。 これは欧文ベースラインの位置になるのでしょうか?
それで、text frameの左上にぴったりくっついている表で 線幅も統一されているなら座標値が出るスクリプトを書いてみました 求めるセル内に文字カーソルを立てておいて実行します。
tell application "Adobe InDesign CS3" tell document 1 set Sel to object reference of selection set {y1, x1, y2, x2} to geometric bounds of parent of parent of parent of Sel --tableからのx位置 set Sel_column_index to index of parent column of parent of Sel set Column_width to 0 if Sel_column_index is not 1 then repeat with i from 1 to Sel_column_index - 1 set Column_width to (width of column i of parent of parent of Sel) + Column_width end repeat end if --tableからのy位置 set Sel_row_index to index of parent row of parent of Sel set Row_height to 0 if Sel_row_index is not 1 then repeat with i from 1 to Sel_row_index - 1 set Row_height to (height of row i of parent of parent of Sel) + Row_height end repeat end if display dialog "x=" & (x1 + Column_width) & ", y=" & (y1 + Row_height) end tell end tell
本当は、どんな条件下でも出せたらいいのですが… エラー処理はしていませんが、問題がありそうでしたら ご指摘お願いいたします。
|
No.2603 2009/03/16(Mon) 00:40:43
Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; ja-jp) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
|
|
Re: セルの座標値 / せうぞー |
|
|
|
スクリプト、動作しました。 InDesign CS3 & CS4 on Mac OS X10.5.6 セル座標を得るには、お書きになった方法がよいのも確認しました。 おっしゃるように、わたしの方法では、段落のセンター揃えや、行方向の揃えによって正しい解にはなりません。すみませんでした。 #まあ、一時的に、左揃え上揃えにして戻す方法もあるでしょうけれど。
>これは欧文ベースラインの位置になるのでしょうか? はい、そうです。 ですからベースライン-文字サイズでは、正しいY座標にはなりません。特に欧文フォントでは。
|
No.2608 2009/03/16(Mon) 13:57:32
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; ja-jp) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
|
|
Re: セルの座標値 / shinji |
|
|
|
動作確認していただき、感謝です!
まぁ、そのうち何か問題が出るかもしれませんが、 そのときはそのときです。 とりあえず、これを元にさらに発展させていきます。 本当は、インデザの機能だけで、なんとか作りたいところですが それは、今後に期待するとして…(EDIANみたいな自由度がほしい) ありがとうございました。
|
No.2609 2009/03/16(Mon) 14:40:16
Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; ja-jp) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
|
|