セル内の文字列の幅取得、空き設定

[4808]セル内の文字列の幅取得、空き設定 | 投稿者:たかぽん | 投稿日:2010/06/19(Sat) 23:35:40
いつも勉強させていただいています。
他の組版ソフト(Edianwing)で作成された書籍をInDesignCS4(windowsXP)で改訂することとなりました。
その書籍は表組みを多用しています。

そこで、質問ですが、

例えば、
セル内に箇条書きされた複数行があるとします。
その中の一番長い一行を選んで長さを取得。その長さから余白を出し、それをセルの余白に均等に指定する。

このような作業が多くある表です。

EdianWingでは数値取得、設定が比較的簡単だったのですが、現在作業中のInDesignCS4では以下のように行っています。

まず、セル内の一番長い文字列の末尾にカーソルを置く。
情報ウインドウから座標を取得。
次に文字列の先頭にカーソルを置き、座標を取得。
出た数値から計算して文字列の長さを取得。
その数値を利用して「(セルの幅-文字列の長さ)÷2」で「セルの余白」を出し均等に入力。
以上の作業です。

しかし、表組が何百ページにも続く書籍を相手にするには、あまりにも時間がかかってしまいます。

そこで、上記のような作業を「javascript」で自動化できないかと考えています。
自分の考えるScriptでのフローは以下のように思います。

1.セルの中の一番長い行を自動取得、もしくはカーソルで反転選択
2.長さを自動取得
3.上記余白を出す計算式「(セルの幅-文字列の長さ)÷2」で計算
3.出た答えを実際に文字列を含んだセル内の「セルの余白」に設定

こんな感じができたら随分楽かな、と考えました。

JavaScriptは初心者で勉強を始めたばかりです。どうか解る方、アドバイスをよろしくお願いします。
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)

このページをシェア