項目[0]とコロン[1]と内容[2]で3つのフレームに分かれているデータに出会ってしまいました。順に選択後実行。[0]にまとめて残りは消します。テキストフレームの字取りデフォルト13Qなのでいったん級数に合わせたフレームグリッドにして戻します。
app.doScript (main, ScriptLanguage.JAVASCRIPT, [], UndoModes.FAST_ENTIRE_SCRIPT); function main (){ var sel=app.activeDocument.selection; var selGB=sel[0].geometricBounds; var selGB2=sel[2].geometricBounds; var ary=[]; sel[2].contents=sel[2].contents.replace(/\r/g,"@\r");//改行用(もっといい方法ありそう) for(var i=0; i<sel[0].lines.length; i++){//中身まとめる for(var j=0; j<sel.length; j++){ ary.push(sel[j].lines[i].contents); } } var str=ary.join(""); var selQ=sel[0].parentStory.pointSize; sel[0].parentStory.storyPreferences.frameType = FrameTypes.FRAME_GRID_TYPE; sel[0].parentStory.gridData.pointSize=selQ; sel[0].parentStory.storyPreferences.frameType = FrameTypes.TEXT_FRAME_TYPE; sel[0].geometricBounds=[selGB[0],selGB[1],Math.max(selGB[2],selGB2[2]),selGB2[3]]; sel[0].parentStory.contents=str.replace(/\r/g,"").replace(/@/g,"\r"); sel[0].parentStory.justification=Justification.LEFT_ALIGN; var arr2=[]; for(var i=0; i<sel[0].paragraphs.length; i++){ arr2.push(sel[0].paragraphs[i].contents.indexOf(":")) } var max=arr2.sort(function(a,b){return a < b});//降順 app.findGrepPreferences = app.changeGrepPreferences = null; app.findGrepPreferences.findWhat = "^.+(?=:)"; app.changeGrepPreferences.jidori=max[0];//最大値 sel[0].parentStory.changeGrep(); app.findGrepPreferences = app.changeGrepPreferences = null; app.findGrepPreferences.findWhat = ":"; app.changeGrepPreferences.leadingAki=0.25;//四部アキ app.changeGrepPreferences.trailingAki=0.25; sel[0].parentStory.changeGrep(); app.findGrepPreferences = app.changeGrepPreferences = null; for(var i=1; i<sel.length; i++){ sel[i].remove(); } }
//分かれてないやつ用 app.doScript (main, ScriptLanguage.JAVASCRIPT, [], UndoModes.FAST_ENTIRE_SCRIPT); function main (){ var sel=app.activeDocument.selection[0];//テキストフレーム選択 var selGB=sel.geometricBounds; var selQ=sel.parentStory.pointSize; sel.parentStory.storyPreferences.frameType = FrameTypes.FRAME_GRID_TYPE; sel.parentStory.gridData.pointSize=selQ; sel.parentStory.storyPreferences.frameType = FrameTypes.TEXT_FRAME_TYPE; sel.geometricBounds=selGB; var arr=[]; for(var i=0; i<sel.paragraphs.length; i++){ arr.push(sel.paragraphs[i].contents.indexOf(":")) } var max=arr.sort(function(a,b){return a < b}); app.findGrepPreferences = app.changeGrepPreferences = null; app.findGrepPreferences.findWhat = "^.+(?=:)"; app.changeGrepPreferences.jidori=max[0]; sel.parentStory.changeGrep(); app.findGrepPreferences = app.changeGrepPreferences = null; app.findGrepPreferences.findWhat = ":"; app.changeGrepPreferences.leadingAki=0.25; app.changeGrepPreferences.trailingAki=0.25; sel.parentStory.changeGrep(); app.findGrepPreferences = app.changeGrepPreferences = null; }