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

全ページにある全角の英大文字を半角の英大文字にする

■プログラム説明(ソースコード説明)
 全ページにある全角の英大文字を半角の英文字にします。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(/[A-Z]/g, repFunc);
pageObj[i].textFrames[j].contents = result;
}
}

function repFunc(chr,ptr,allStr)
{
var hankaku = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var zenkaku = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var n = zenkaku.indexOf(chr);
return hankaku.charAt(n);
}


■使い方
1:あらかじめドキュメントを開いておきます。
2:スクリプトを実行します。
3:全角のアルファベットの大文字が半角の大文字になります。


■ポイント
 なし

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

写真素材 PIXTA