10年ほど前から、楽しく自動化を始めて、仕事にしています。

ジャバスクリプトでイラストレーターに『本体価格』から『税額』『税込み価格』を計算して入れる

イラレでテンプレートを作成します。本体価格を入れるところ属性名に”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.pageItems.length; i++) {
            var item = app.activeDocument.pageItems[i];

            try {
                // 各ページアイテムの名前に基づいて内容を設定
                if (item.note === "basePrice") {
                    item.contents = "本体価格: " + Math.floor(price) + "円";
                } else if (item.note === "taxAmount") {
                    item.contents = "税額: " + tax_amount + "円";
                } else if (item.note === "priceWithTax") {
                    item.contents = "税込み価格: " + price_with_tax + "円";
                }
            } catch (e) {
                // エラーが発生した場合にアラートを表示
                alert("アイテムの内容設定時にエラーが発生しました: " + e.message);
            }
        }
    } else {
        alert("正しい数値を入力してください。");
    }
}

すべてのアイテムを確認し、属性の名前が一致したところにテキストを入れます。

実行すると

数字や計算した結果が入ります。

コメント

この記事へのコメントはありません。

ランキング
開発・運営ランキング
にほんブログ村 IT技術ブログへ
にほんブログ村 IT技術ブログ Tipsへ
にほんブログ村 IT技術ブログ JavaScriptへ
にほんブログ村 IT技術ブログ VBAへ
PAGE TOP