■クリエイター手抜きプロジェクト[202]Adobe InDesign & Illustrator CS3/CS4編 文章中の価格に消費税を加算する/古籏一浩
チラシ印刷・ポスター印刷・新聞折込チラシ・カタログ印刷・冊子印刷
ポストカード印刷・巻き三つ折り・観音折りなどに対応した印刷サービス
印刷会社はこちらから↓↓↓ 選挙ポスター印刷もあります。
http://www.ddc.co.jp/index.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━ 印刷通販 PR ━
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
●テキストフレーム内で選択した数値に消費税を加える
var selObj = app.activeDocument.selection[0]; // 最初に選択した数値のみ処理
var n = parseFloat(selObj.contents);
n = n * 1.05; // 消費税5%を乗算する
n = Math.round(n);
selObj.contents = ""+n;
次はテキストフレーム全体に対して処理するものですが、1,200円や980円など数値の直後に円の文字がある場合のみ、価格として認識し105%の価格にするものです。ただし、テキストフレームで表示されていない部分に関しては処理されません。隠れている部分も処理したい場合には
selObj.contents;
を
selObj.parentStory.contents;
としてください。また、以下のスクリプトはInDesignだけでなくIllustratorでも問題なく動作します。Illustratorの場合もInDesign同様にテキストフレーム全体を選択してから実行してください。
●〜円のパターンの場合のみ処理する
var selObj = app.activeDocument.selection[0]; // 最初に選択した数値のみ処理
var txt = selObj.contents;
selObj.contents = txt.replace(/\d+円/g, repFunc);
function repFunc(n){
n = parseInt(n);
n = n * 1.05; // 消費税5%を乗算する
n = Math.round(n);
return n+"円";
}
ちなみに¥2531のように、先頭に¥マークがついている場合には、以下のスクリ
プトになります。
●¥〜のパターンの場合のみ処理する
var selObj = app.activeDocument.selection[0]; // 最初に選択した数値のみ処理
var txt = selObj.contents;
selObj.contents = txt.replace(/¥\d+/g, repFunc);function repFunc(n){
n = parseInt(n.substring(1,9999));
n = n * 1.05; // 消費税5%を乗算する
n = Math.round(n);
return "¥"+n;
}
【古籏一浩】openspc@po.shiojiri.ne.jp
<
大盤振る舞いのおかげで、数年後には消費税が大幅アップしそうですが……
mixiがOpenSocial対応(β)ということで、いくつか作ってあります。
一応OpenSocialの勉強ということでページも作りました。が、最初の段階でちょっとつまずいているので、あまり項目がありません。SNSごとに対応が違うので、昔のブラウザ戦争を思い起こさせるような雰囲気も。
・OpenSocial例文辞典
<
細々と素材も追加してます。
・フルサイズフリー素材
<
以下の連載/記事もよろしく。
・アスキー:「29分でできる! あのサイトの“技”を盗め」第20回
<
・マイコミ:カスタマイジングLunascape
<

- 改訂第4版 JavaScript ポケットリファレンス
- 古籏 一浩
- 技術評論社 2006-10-18
- おすすめ平均

JavaScriptを使ったプロジェクトのお供に是非
JavaScript仮免者以上の方へ
バランスの良いバイブル
中級者向けです。
by G-Tools , 2009/04/13

←RSSリーダーで受信
