表のセルの線幅を検索をして置換える方法
[4120]表のセルの線幅を検索をして置換える方法 |
投稿者:ちほ |
投稿日:2010/02/02(Tue) 20:51:24
いつもお世話になっております。
MacOSX10.5.8のInDesignCS4の質問です。
表のセルの線幅を検索をして置換える事はできないのでしょうか?
例えば、
単位はポイントで
『0.808pt→0.5pt』『1.615pt→1pt』
と指定をした線幅のみ変更をするといったものです。
ただ今一つ一つ手作業でしていますが、何十点も修正をしないといけなく、さらに修正漏れがありそうでとても困っています。
似た様な質問をいくつか見つける事はできたのですが、スクリプトが載っているリンク先がすでに切れていたり、
スクリプトを上手く活用できず、エラーばかりで使う事が出来ませんでした...
変換をする事が出来る方法やスクリプトを知っている方や、表自体にかけるスクリプトの作り方が載っているHPを知っている方がいましたら、教えて下さい。
よろしくお願い致します。
» 1
MacOSX10.5.8のInDesignCS4の質問です。
表のセルの線幅を検索をして置換える事はできないのでしょうか?
例えば、
単位はポイントで
『0.808pt→0.5pt』『1.615pt→1pt』
と指定をした線幅のみ変更をするといったものです。
ただ今一つ一つ手作業でしていますが、何十点も修正をしないといけなく、さらに修正漏れがありそうでとても困っています。
似た様な質問をいくつか見つける事はできたのですが、スクリプトが載っているリンク先がすでに切れていたり、
スクリプトを上手く活用できず、エラーばかりで使う事が出来ませんでした...
変換をする事が出来る方法やスクリプトを知っている方や、表自体にかけるスクリプトの作り方が載っているHPを知っている方がいましたら、教えて下さい。
よろしくお願い致します。
[4122]Re: 表のセルの線幅を検索をして置換える方法 |
投稿者:mg |
投稿日:2010/02/03(Wed) 00:42:36
>表自体にかけるスクリプトの作り方が載っているHP
amiza_retさんのブログで表組み関係のjsのことがまとめられてます。
http://ameblo.jp/amiza-ret/entry-10287937991.html
べたな書き方ですが、こんなので参考になりますでしょうか?
表を選択して実行。細かいエラー処理はしてません。
var sel=app.selection[0];
changeCellStrokeWeight (sel, 0.808, 0.5);
changeCellStrokeWeight (sel, 1.615, 1);
function changeCellStrokeWeight(sel, find , rep){
var cell=sel.cells;
for(var i=0; i< cell.length; i++){
var t=cell[i].topEdgeStrokeWeight;
var r=cell[i].rightEdgeStrokeWeight;
var b=cell[i].bottomEdgeStrokeWeight;
var l=cell[i].leftEdgeStrokeWeight;
if(t==find){cell[i].topEdgeStrokeWeight=rep;}
if(r==find){cell[i].rightEdgeStrokeWeight=rep;}
if(b==find){cell[i].bottomEdgeStrokeWeight=rep;}
if(l==find){cell[i].leftEdgeStrokeWeight=rep;}
}
}
» 2
amiza_retさんのブログで表組み関係のjsのことがまとめられてます。
http://ameblo.jp/amiza-ret/entry-10287937991.html
べたな書き方ですが、こんなので参考になりますでしょうか?
表を選択して実行。細かいエラー処理はしてません。
var sel=app.selection[0];
changeCellStrokeWeight (sel, 0.808, 0.5);
changeCellStrokeWeight (sel, 1.615, 1);
function changeCellStrokeWeight(sel, find , rep){
var cell=sel.cells;
for(var i=0; i< cell.length; i++){
var t=cell[i].topEdgeStrokeWeight;
var r=cell[i].rightEdgeStrokeWeight;
var b=cell[i].bottomEdgeStrokeWeight;
var l=cell[i].leftEdgeStrokeWeight;
if(t==find){cell[i].topEdgeStrokeWeight=rep;}
if(r==find){cell[i].rightEdgeStrokeWeight=rep;}
if(b==find){cell[i].bottomEdgeStrokeWeight=rep;}
if(l==find){cell[i].leftEdgeStrokeWeight=rep;}
}
}
[4124]Re: 表のセルの線幅を検索をして置換える方法 |
投稿者:ちほ |
投稿日:2010/02/03(Wed) 15:46:57
mg様>>
早急に返信いただき、ありがとうございます。
>amiza_retさんのブログで...
表組のjavascriptがこんなにもあるんですね><
あまりの数の多さにビックリしました。
もっと勉強をして活用できるように致します♪
>べたな書き方ですが、...
本当にありがとうございます♪
ささっと作れるなんて...感動です☆
ただ...あたしの使い方が悪のか、実効をしてもエラーも出なければ線幅も変わりませんでした。。。
そのままコピペしたのを「ExtendScripot Toolkit」でスクリプトを作成したのが悪いのでしょうか???
自動処理...奥が深いです><
頭から煙を出しながら頑張らせていただきます!!
» 3
早急に返信いただき、ありがとうございます。
>amiza_retさんのブログで...
表組のjavascriptがこんなにもあるんですね><
あまりの数の多さにビックリしました。
もっと勉強をして活用できるように致します♪
>べたな書き方ですが、...
本当にありがとうございます♪
ささっと作れるなんて...感動です☆
ただ...あたしの使い方が悪のか、実効をしてもエラーも出なければ線幅も変わりませんでした。。。
そのままコピペしたのを「ExtendScripot Toolkit」でスクリプトを作成したのが悪いのでしょうか???
自動処理...奥が深いです><
頭から煙を出しながら頑張らせていただきます!!
[4125]Re: 表のセルの線幅を検索をして置換える方法 |
投稿者:mg |
投稿日:2010/02/03(Wed) 17:37:39
>そのままコピペしたのを「ExtendScripot Toolkit」でスクリプトを作成したのが悪いのでしょうか???
ESTKの左上のプルダウンメニューから「InDesign」を選んでから実行してみてください。
» 4
ESTKの左上のプルダウンメニューから「InDesign」を選んでから実行してみてください。
[4126]Re: 表のセルの線幅を検索をして置換える方法 |
投稿者:ちほ |
投稿日:2010/02/03(Wed) 20:32:10
mg様>>
度々ありがとうございます♪
>ESTKの左上のプルダウンメニューから「InDesign」を選んでから実行してみてください。
画像の用にしたのですが、表全体を選択をしても、セルを選択をしても線幅に変化はありませんでした。
そして、エラーメッセージは何も出ては来なかったです。
» 5
度々ありがとうございます♪
>ESTKの左上のプルダウンメニューから「InDesign」を選んでから実行してみてください。
画像の用にしたのですが、表全体を選択をしても、セルを選択をしても線幅に変化はありませんでした。
そして、エラーメッセージは何も出ては来なかったです。
[4127]Re: 表のセルの線幅を検索をして置換える方法 |
投稿者:五月 貴 |
投稿日:2010/02/03(Wed) 21:18:43
横からすみません。
該当のスクリプトを"名前.jsx"と拡張子を付けて,
InDesignアプリケーションがあるフォルダ内の「Script」フォルダに保存し,InDesignで「スクリプト」パネル(パレット)を出した上で実行してみると如何でしょうか?
» 6
該当のスクリプトを"名前.jsx"と拡張子を付けて,
InDesignアプリケーションがあるフォルダ内の「Script」フォルダに保存し,InDesignで「スクリプト」パネル(パレット)を出した上で実行してみると如何でしょうか?
[4128]Re: 表のセルの線幅を検索をして置換える方法 |
投稿者:ちほ |
投稿日:2010/02/03(Wed) 21:31:50
五月 貴様>>
ありがとうございます^^
>該当のスクリプトを"名前.jsx"と拡張子を付けて...
スクリプトパレットを出してでの実行でも何も反応無しでした...
表を触らずに実行をするともちろんエラーが出るのですが、表を触った状態ではエラーも出ませんでした。
» 7
ありがとうございます^^
>該当のスクリプトを"名前.jsx"と拡張子を付けて...
スクリプトパレットを出してでの実行でも何も反応無しでした...
表を触らずに実行をするともちろんエラーが出るのですが、表を触った状態ではエラーも出ませんでした。
[4129]Re: 表のセルの線幅を検索をして置換える方法 |
投稿者:PICTRIX |
投稿日:2010/02/03(Wed) 22:10:26
拾った線幅を小数点以下3桁に丸める必要はないのでしょうか。。。
関係なかったらごめんなさい。
» 8
関係なかったらごめんなさい。
[4130]Re: 表のセルの線幅を検索をして置換える方法 |
投稿者:mg |
投稿日:2010/02/03(Wed) 22:23:32
もしかして、
ドキュメントの単位系がmm,Q,Hとかになってたりしませんか?
» 9
ドキュメントの単位系がmm,Q,Hとかになってたりしませんか?
[4131]Re: 表のセルの線幅を検索をして置換える方法 |
投稿者:五月 貴 |
投稿日:2010/02/03(Wed) 22:44:17
数値を単位付きの文字列扱いにしないとダメとか...
» 10
[4132]Re: 表のセルの線幅を検索をして置換える方法 |
投稿者:mg |
投稿日:2010/02/03(Wed) 23:09:30
続けざまにすいません
if と var と for のシンタックスカラーが変ですね。
行頭のスペースを除去してみてもダメかな?
» 11
if と var と for のシンタックスカラーが変ですね。
行頭のスペースを除去してみてもダメかな?
[4139]Re: 表のセルの線幅を検索をして置換える方法 |
投稿者:ちほ |
投稿日:2010/02/04(Thu) 20:56:50
>>五月 貴様
自分も思いましたが、単位を付けてみてもやはりダメでした...
数値をポイントで認識をするスクリプトなのでしょうか??
>>mg様
>ドキュメントの単位系がmm,Q,Hとかになってたりしませんか?
環境設定を見てましたが、全て『ポイント』になっていました。
>行頭のスペースを除去してみてもダメかな?
スペースを除去してみたら、文字に色がつきました!!
この色は意味があったのですね...
てっきり、分かりやすく自動的についてくれるだけのものかと...
スペースを除去してみましたら、無事セルの線幅を変更する事ができました♪
色々と検証をしてみた結果、結合がされている表は選択の仕方を替えてあげるとエラーもなく変更可能でした^^
あまりにの凄さと便利さに感動しております☆
本当に本当にありがとうございました<(_ _)>
自分も思いましたが、単位を付けてみてもやはりダメでした...
数値をポイントで認識をするスクリプトなのでしょうか??
>>mg様
>ドキュメントの単位系がmm,Q,Hとかになってたりしませんか?
環境設定を見てましたが、全て『ポイント』になっていました。
>行頭のスペースを除去してみてもダメかな?
スペースを除去してみたら、文字に色がつきました!!
この色は意味があったのですね...
てっきり、分かりやすく自動的についてくれるだけのものかと...
スペースを除去してみましたら、無事セルの線幅を変更する事ができました♪
色々と検証をしてみた結果、結合がされている表は選択の仕方を替えてあげるとエラーもなく変更可能でした^^
あまりにの凄さと便利さに感動しております☆
本当に本当にありがとうございました<(_ _)>
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)