InDesign CS6自動化作戦 (InDesign CS6 Automation Operation)

選択されたテキストフレーム内の数字を3桁ごとに区切る(¥〜の場合のみ)

■プログラム説明(ソースコード説明)
 選択されたテキストフレーム内の数字を3桁ごとに区切ります。ただし、数字の先頭に半角の円記号の文字がある場合のみ処理されます。全角の円記号であれば以下のサンプルの¥部分を全角の円記号にしてください。

■ソースコード
selObj = app.activeDocument.selection;
for (i=0; i<selObj.length; i++)
{
txt = selObj[i].contents;
selObj[i].contents = txt.replace(/¥[0-9]+/gm,repFunc);
}
function repFunc(chr,ptr,AllStr)
{
var i,cnt = 0,n = "";
var str = chr.substring(1,chr.length);
for (i=str.length-1; i>=0; i--)
{
n = str.charAt(i) + n;
cnt++;
if (((cnt % 3) == 0) && (i != 0)) n = ","+n;
}
return "\"+n;
}


■使い方
1:置換するテキストフレームを選択します。
2:スクリプトを実行します。
3:¥〜の場合の数字が3桁ごとに区切られます。


■ポイント
 上記サンプルは全角の¥記号になっていますが、実際は半角の円記号です。


■実際のスクリプトをダウンロード(sample.jsx.zip)

写真素材 PIXTA