もう明日の話なのですが
市川せうぞーさんの名もないテクノ手の
せうぞーさんの「セル内のオーバーフローを解消するスクリプト」
http://d.hatena.ne.jp/seuzo/20080923/1222106561
の解説と。それをカスタマイズして
「セル内で1行に収まっていない段落を解消するスクリプト」にする方法
var sel = app.activeDocument.selection[0]; for (var i = 0; i < sel.cells.length; i++) { var txtObj = sel.cells[i]; var danraku = txtObj.paragraphs[-1]; var gyou = txtObj.lines[-1]; for (var w=danraku.horizontalScale; w >= 10; w--){ txtObj.recompose();//★ここ var danraku_str = danraku.contents; var gyou_str = gyou.contents; if (danraku_str == gyou_str) {break} danraku.horizontalScale = w; } }
さらにエラー処理を加えるというお話をします。ぎりぎりで申し訳ないのですが
予習していただければ、さらに分かりやすいかもしれません。
もちろん予習なしで大丈夫です。
//エラー処理 //ダイアログ表示のおまじない app.scriptPreferences.userInteractionLevel=1699311169; main(); function main(){ if (app.documents.length == 0){ alert("ドキュメントを開いてください"); return; } if (app.selection.length == 0){ alert("セルを選択してください"); return; } myDocu = app.activeDocument; mySele = myDocu.selection; for(var s = 0; s<app.selection.length; s++){ table_choutai(app.selection[s]); } } function table_choutai(myObj){ var seltype = myObj.constructor.name if(seltype == "Cell"){ table_choutai2(myObj); } } //ここから下が市川せうぞーさんの名もないテクノ手を参考にしています。 function table_choutai2(myObj){ for (var i = 0; i < myObj.cells.length; i++) { var txtObj = myObj.cells[i]; var danraku = txtObj.paragraphs[-1]; var gyou = txtObj.lines[-1]; for (var w=danraku.horizontalScale; w >= 10; w--){ txtObj.recompose();//★ここ var danraku_str = danraku.contents; var gyou_str = gyou.contents; if (danraku_str == gyou_str) {break} danraku.horizontalScale = w; } } }
コメントする