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

全ページにある全角の数字を漢数字にする

■プログラム説明(ソースコード説明)
 全ページにある全角の数字を漢数字(0〜9のみ、10は駄目)にします。replace()の第二パラメータには置換する文字だけでなく関数も指定することができます。関数からの戻り値が置換される文字になります。

■ソースコード
pageObj = app.activeDocument.pages;
for (i=0; i<pageObj.length; i++)
{
for (j=0; j<pageObj[i].textFrames.length; j++)
{
txt = pageObj[i].textFrames[j].contents;
result = txt.replace(/[0-9]/g, repFunc);
pageObj[i].textFrames[j].contents = result;
}
}

function repFunc(chr,ptr,allStr)
{
var kansuji = "零壱弐参四伍六七八九";
var zenkaku = "0123456789";
var n = zenkaku.indexOf(chr);
return kansuji.charAt(n);
}

■使い方
1:あらかじめドキュメントを開いておきます。
2:スクリプトを実行します。
3:全角の数字が漢数字になります。


■ポイント
 なし

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

写真素材 PIXTA