ウェビナー動画

10/20 開催した「GCJスクリプトセミナー第2弾」の模様になります。
こちらの動画はアンケートに回答していただいた方(同一組織含む)の範囲で振り返り動画としてご利用ください。(SNSやブログといった場所への紹介、転載はご遠慮ください)

期間限定:2025年11月30日(日)まで

Information

ウェビナーとアンケートでご質問いただいた内容の回答と当日のレジメを公開

エディターのダブルスラッシュの追加と削除の仕方を教えてほしいです

該当行お先頭にカーソルをたてて、半角スラッシュを2つ追加してください。

スラッシュ2つと3つでは、どう意味が違いのか知りたいです。

コードを見やすくするための違いなので、特に意味の違いはないです。
/* */というような書き方もあります。

スクリプトラベルやnameは自由につけられますが、同じ名前・被る名前もつけられますね。一意(唯一)のオブジェクトを指定したい場合は、どんなやり方がよろしいでしょうか。

唯一となると「選択したもの」となる気がするので、選択されたオブジェクトに対して処理する、ということになります。
あとは、唯一を定義できれば、それをピンポイントで探しにいく、ということかなと思います。

varで宣言する変数と、for()の中で宣言する変数(len = item.length)の違い?使い分け?を教えてほしいです。

forの中と外で使い分けるのはコードを書く人の癖などにもよる気がしますが、forの外で定義したものは、そのコード全体での変数になり、forの中で定義すると、forの中だけで有効になるという使い分けがあるかと思います。ただ、結局のところ、コードをあとで自分や他の人が見たときに、意味がわかりやすいように書いておくという観点から、使い分けが出てくると思います。

スクリプトを学習するのにオススメのガイド本があればご紹介ください。

InDesignのスクリプトというわけではないのですが、プログラミングの初歩的なところは、「高校生からはじめるプログラミング」がいいかもです。
VSCodeのことも載ってますし、基本的なことが親切に書かれていると思います。

作成したスクリプトのチェックはどのような方法で進めたらよろしいでしょうか

InDesignのスクリプトは動けばそれでもいいのですが、どういう仕様なのかということは、スクリプト内にコメントで書いておいたほうがいいです。
また、自分でよくやるのは、InDesignのテストデータを作っておいて、それで正常に動作するかを確認して、それ瑕疵担保にする、というようにしています。何か不具合や追加仕様があった場合にもテストデータを更新してチェックする、という感じです。システム開発界隈では、「テスト」はとても重要視されていますので、そういった気配りも必要だと思います。

変数名の中で、途中で大文字が使われているものがありますが、意味やルールはあるでしょうか?(app.activeDocument、itemNameなど)

視覚的に単語の区切りを分かりやすくするためのお作法です。
item_nameというようにアンダーバーで区切る人もいます。
コードは文章なので、読みやすくする、ということです。

生成AIを使ってスクリプトを作成する際に指示するプロンプトのテクニックがあれば教えてください。

AIがどんどん優秀になっているので、大抵のことは読み取ってくれるので自由にやりやいことを書けば良いと思います。
ただ、整理して書いた方がやりとりがへるので、何をどうしたいか、を明確にしてあげた方がよいです。
自分はやりたいことのキモになる部分をまず出来るのか確認して、そこから肉付け(ドキュメント全体やフォルダ内のindすべてに処理するなど)していきます。

コンソールに出すやり方を知りたいです。

VS Codeの拡張機能でExtendScript Debuggerを使う方法があります。
https://cs5.xyz/blog/2025/06/post-5314.html(多分最新の記事)
インストールや使い方などはちょっと古い記事にはなりますが、いくつかありますので参考にしてみてください。(VScode ExtendScript Debugger などで検索)

GPT5になって質問に対しての答えと提案をしてくれるのでよいのですが、何度もトライアンドエラーをします。
スクリプトを短時間で習得する方法はありますか?正規表現も?

出来るだけ短い時間でやるには、定番の汎用的なコード(よく使う部分)は自分で用意しておいて、コアな部分だけをAIに書いてもらって、自分のコードにはめるのが良いと思います。
あとは欲張らずに、何段階かのステップにわけて、ここまでできれば使えるというのを確保しながら進めた方がよいです。