インデザインでテンプレートを作成します。本体価格を入れるところにスクリプトラベルに”basePrice”、税額は”taxAmount”、税込み価格は”priceWithTax”を設定。
インデザインで自動で動かすときは、スクリプトラベル。イラレは属性。



スクリプト
// ユーザーに入力を求める(価格を入力してください)
var input_price = prompt("価格を入力してください:", "1000");
if (input_price) {
// 消費税率(例: 10%の場合は0.1)
var tax_rate = 0.1;
// 入力された価格を数値に変換
var price = parseFloat(input_price);
if (!isNaN(price)) {
// 計算: 本体価格、税額、税込み価格(小数点以下を切り捨て)
var tax_amount = Math.floor(price * tax_rate); // 税額
var price_with_tax = Math.floor(price + tax_amount); // 税込み価格
// アクティブなドキュメント内の全てのページアイテムをループ処理
for (var i = 0; i < app.activeDocument.allPageItems.length; i++) {
var item = app.activeDocument.allPageItems[i];
try {
// 各ページアイテムのラベルに基づいて内容を設定
if (item.label === "basePrice") {
item.contents = "本体価格: " + Math.floor(price) + "円";
} else if (item.label === "taxAmount") {
item.contents = "税額: " + tax_amount + "円";
} else if (item.label === "priceWithTax") {
item.contents = "税込み価格: " + price_with_tax + "円";
}
} catch (e) {
// エラーが発生した場合にアラートを表示
alert("アイテムの内容設定時にエラーが発生しました: " + e.message);
}
}
} else {
alert("正しい数値を入力してください。");
}
}
スクリプトを実行すると、ポップアップで数字を入れる、小さい画面が出ます。

OKを押すと実行されます。

try { … } catch (e) { … }構文について。
try { … } ブロック
問題が発生する可能性のあるコードをここに記述します。
このブロック内でエラーが発生すると、catchブロックに処理が渡されます。
catch (e) { … } ブロック
エラーが発生した場合でもプログラムの実行を継続し、エラーに適切な対応を行うために使用します。アラートを出したりすると、エラー内容を簡単に確認できます。

コメント