こんばんわ。
初めて質問致します。
自分は、趣味でイラレをたしなむ程度なのですが
今回、知り合いから「ライブのチケット100枚作ってほしい」
と言われました。
デザインは何とか完成し、印刷しようと思ったのですが
「チケットだからナンバリングもつけて欲しい」と要望があり
途方に暮れています。
自力でネット検索し、何とかナンバリングをしてくれる「javasprict」
を発見致しました。
早速試したところ、チケット1枚につきナンバリング1か所であれば
成功したのですが、チケットなので控えと半券両方にナンバリングが欲しいとの事。
つまり、簡単に言うと1枚に2か所のナンバリングが必要なのです。
自分で改造しようと、色々試しましたが完全にお手上げ状態です。
何とかお力添えを頂ければ幸いです。
ソースは下記の通りです。
// JavaScript Document
docObj = activeDocument;
var minNum=prompt("チケットナンバーの開始値");
var maxNum = prompt("チケットナンバーの終了値");
var ticketsPerPage = 5; //一ページ当たりのチケット枚数
var printPageNum = Math.ceil( (maxNum - (minNum-1))/5 ); // 何ページ印刷するか
var maxDegit = 4; //最大桁数。これに基づいて、テキスト整形
var prefix = "抽選番号 No. "; //連番のプリフィックス
var suffix = " "; //連番のサフィックス
for(var i = 0 ; i < printPageNum ; i++){ //必要なページ数ループ
for(var h = 0 ; h < ticketsPerPage ; h++){ //各ページにはticketPerPageだけナンバーを設定
var obj_name = "No."+(h+1); //テキストオブジェクトの名前(事前にaiファイルで編集・設定)
var numberItem = docObj.pageItems.getByName(obj_name);//テキストオブジェクトの取得
numberItem.contents= getNumberText(i*ticketsPerPage + Number(minNum)+ Number(h)); //ナンバーを設定
}
//プリント
docObj.print();
}
//数値を受け取って、ナンバリング用文字列を返す
function getNumberText(num){
var len = num.length;
var numText = prefix;
for( var i = 0 ; i < maxDegit - len ; i++){
numText += " ";
}
numText += num;
return numText + suffix.toString();
}
上記の物を、同じテキストボックス名を2か所設置して動かしても片方にしか
ナンバリングが反映されませんでした。
まったくの初心者ですので、御面倒おかけしますが何卒お力添えをお願い致します!
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
イラレのスクリプトはわからないので、考え方のみになってしまいますが…
>上記の物を、同じテキストボックス名を2か所設置して動かしても片方にしか
>ナンバリングが反映されませんでした
同じ名前でなく、名前を変えてあげれば良さそうに思われます。
例えば片方が「No.{番号}」のようになっていれば、もう一方は「sNo.{番号}」のように設定しておけばよろしいかと。
記入するスクリプトは
//記入する文字列
var record = getNumberText(i*ticketsPerPage + Number(minNum)+ Number(h));
//テキストオブジェクト1の取得
var numberItem1 = docObj.pageItems.getByName( "No."+(h+1));
var numberItem2 = docObj.pageItems.getByName( "sNo."+(h+1));
//ナンバーを設定
numberItem1.contents= record;
numberItem2.contents= record;
のように2箇所に同じ文字を記入してあげれるようにすればよいのではないでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・ことしの初夢、何だった?
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
google apps scriptの終了のさせ方
-
GASでundefinedエラーが出ます
-
C#OpenCv V4にのエラーに関する...
-
jqGridについて
-
なぜmatchメソッドがエラーにな...
-
GASのエラー「undefined からプ...
-
カンマで終わってるのはセミコ...
-
C#で、ContextMenuStripに動的...
-
第3日曜日のみの日付を取得、...
-
ホームページの最終更新日を他...
-
gas スプレッドシートがアクテ...
-
ローカルにあるファイルを検索...
-
1日1回だけ引けるjavascriptお...
-
ジェネレーターの作り方
-
javascriptでiframeのURL変更は?
-
chromeでxmlをJSで表示するには?
-
ASP.NET MVCでObjectをjsに渡す
-
【javascript】正規表現で括弧...
-
javaScriptのコードの修正をお...
-
C言語の質問です HTMLでこのよ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
ASP.NET MVCでObjectをjsに渡す
-
C#で、ContextMenuStripに動的...
-
GASでundefinedエラーが出ます
-
ジェネレーターの作り方
-
翌月を取得するGASが分かりません
-
ASP.NETのコントロールの値をJa...
-
台形公式
-
html javascript リンク先アド...
-
なぜmatchメソッドがエラーにな...
-
javaScript textareaの一行あた...
-
1日1回だけ引けるjavascriptお...
-
javascriptでテーブルに追加し...
-
VSCODE[Python]の設定について
-
googleスプレッドシートのApps ...
-
gas スプレッドシートがアクテ...
-
今日からnヶ月後(前)
-
Google Apps Script で添付ファ...
-
setTimeoutによる繰り返しが途...
おすすめ情報