-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathInddLineNumber.jsx
111 lines (102 loc) · 2.95 KB
/
InddLineNumber.jsx
1
/* Renban(Auto Nubering) for InDesign CS4+ Author: Yuichiro Ohtsu(Libroworks inc.) Home:http://www.libroworks.co.jp/ */var g_stylename; //連番の対象の文字スタイル名var g_zerotype; //ゼロパディングタイプ(0:なし、1:二桁、2:三桁)var g_startnumber=1; //開始番号main();function main(){ //Make certain that user interaction (display of dialogs, etc.) is turned on. //app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll; if (app.documents.length != 0){ var t = app.selection[0]; if(t.constructor.name != 'InsertionPoint'){ var p = t.parent; alert("表の中にカーソルを置いてください"); return; } var p = t.parent; if(p.constructor.name != 'Cell'){ alert("表の中にカーソルを置いてください"); return; } var row = p.parentRow; var col = p.parentColumn; //$.write(row.index + ':' + col.index); //ダイアログ表示 if(myDisplayDialog() == true){ //連番実行 //doRenban(); doLineNumber(); } } else { alert ("ドキュメントを開いてください"); }}function myDisplayDialog(){ //文字スタイルの一覧を取得 var myDocument = app.activeDocument; //ダイアログ生成 var myDialog = app.dialogs.add({name:"Renban"}); with(myDialog.dialogColumns.add()){ //説明ラベル staticTexts.add({staticLabel:"現在カーソルがあるセルから下に向けて連番を挿入します"}); //パネルを追加 with(borderPanels.add()){ //ラベル with(dialogColumns.add()){ staticTexts.add({staticLabel:"初期値"}); } with(dialogColumns.add()){ var myInitialField = integerEditboxes.add({editValue:g_startnumber}); } } //パネルを追加 with(borderPanels.add()){ //ラベル with(dialogColumns.add()){ staticTexts.add({staticLabel:"ゼロ埋めの形式"}); } //ラジオボタン var myRadioButtonGroup = radiobuttonGroups.add(); with(myRadioButtonGroup){ radiobuttonControls.add({staticLabel:"1"}); radiobuttonControls.add({staticLabel:"01"}); radiobuttonControls.add({staticLabel:"001", checkedState:true}); } } } myReturn = myDialog.show(); if (myReturn == true){ g_startnumber = myInitialField.editValue; g_zerotype = myRadioButtonGroup.selectedButton; myDialog.destroy(); return true; } else { myDialog.destroy(); return false; } }//行番号挿入function doLineNumber(){ var myDocument = app.activeDocument; var t = app.selection[0]; var cell = t.parent; var row = cell.parentRow; var startline = parseInt(row.index); var col = cell.parentColumn; var curcol = parseInt(col.index); var rows = cell.parent.rows; var idx = g_startnumber; for(var i = startline; i < rows.length; i++){ var renban = String(idx); if(g_zerotype > 0){ renban = ('000' + renban).slice(-(g_zerotype+1)); } //$.write(rows[i].cells[curcol].constructor.name); rows[i].cells[curcol].contents = renban; idx++; }}