ExtendedScript
毎日暑いですね。ブログって書かなくなると面倒になるものですね。立ち上げ当初はブログで稼いでやるぜみたいなことちょっとだけ思ったりしてましたけど笑。このまま何も書かなくなりそうと危惧したので2ヶ月前のTwitter(X)でのやり取りを載せておきたいと思…
前回連想配列についてまとめたので、次にfor...in文をまとめてみます。 for...in文は①オブジェクトのプロパティや②プロパティの値を効率よく抽出できます。 for文と何が違うのかと思ったんですが、初期化やループ条件の記述をしなくてよいというところでしょ…
まだまだ分からないことだらけですね。以前からfor...in文というのは何だろうと気になっていたのでいろいろと調べていました。 for( var 変数 in オブジェクト ) { 処理 } こういうやつです。ところがこれについて調べていくうちに連想配列について学ばなく…
とても簡単なことなんでしょうけど、 やっぱり独学ってつまづくことがいろいろありまして。 「入力された数値に10を足して答えを表示する」 これだけのことなんですけど全然わかりませんでした。最初に書いたスクリプトはこちら。 var rt = prompt("数値を入…
ページの上下左右4辺の座標はBoundsで取得できるんですね。 知りませんでした。A4のドキュメントを作成して var doc = app.activeDocument.pages[0]; $.writeln(doc.bounds[0]); // 上 $.writeln(doc.bounds[1]); // 左 $.writeln(doc.bounds[2]); // 下 $.w…
前回の更新日が昨年の11月… 年末から繁忙期に入ったとはいえ、ずいぶん長い間、ブログ更新してないな、と思います。 そして、繁忙期が終わったあと、せっかく勉強してきたスクリプトをほとんど忘れているという悲しい状況でございました。 リハビリを兼ねて…
関数の目的 スクリプトの勉強を始めたころは本当にこの関数が分かりづらく、「もうやめようかな…」て何度か考えたものでした。 しかし、特に難しく考える必要はなかったようで、単に「まとまった処理を行う機能」が関数であると考えればよさそうだと思うよう…
ファイル選択ダイアログ ファイルを開くときや選択するときに使います。第1引数 表示させるメッセージ 第2引数 選択可能なファイル形式を制限 第3引数 trueで複数選択可能。デフォルトはfalseとなっています。 var fileObj=File.openDialog("ファイルを選択…
確認ダイアログ 「はい」か「いいえ」をユーザーに選択させるダイアログです。 戻り値は「はい」ならtrue、「いいえ」ならfalseとなります。例えば confirm("新規ドキュメントを作成しますか?"); と入力すると次のように表示されます。 第2引数にtrueを入れ…
オブジェクトの移動がわからなくて、つまづく… InDesignのExtendedScriptを勉強し始めた当初は、とにかくネットでたくさんの情報を調べました。ネットに上がっているものをダウンロードしてESTKで開いて、どういう作りになっているのか考えて、それでもわか…
ネットに上がっている様々なInDesign用のExtendedScriptを拝見していくと、きちんと条件判断でエラー回避をしてあるものが多く、どれだけ努力をしたらこんな風に信頼性の高いものを作れるようになるのかと、途方に暮れることがあります。 全く先は長い、長す…
関数は汎用的に利用できる処理をまとめたものです。箱のような入れ物に機能をまとめておくと考えるとわかりやすいと思います。関数は定義する場合はfuncution( )を使います。function 関数名 ( 引数 ){ 命令文; }引数が複数ある場合はカンマで区切ります。ま…
繰り返しの処理を行うには、for( )またはWhile( )を使います。for文は繰り返しの回数が決まっている場合に、while文は、条件を満たしている限り処理を繰り返したい場合によく用いられます。 for文 for文は次のように書きます。for (変数名=最初の値; 変数名 …
条件判断はif( )を使います。 ( )の中に条件文を書いて、条件文の結果が真(true)の場合に実行します。 if文を使うことで、「もし(true)ならこの処理」「そうでなければ(false)この処理」というように条件によって処理を分けることができます。書式は次…
ここで実際に新規ドキュメントに長方形を作成してみましょう。 var doc = app.documents.add(); doc.rectangles.add();//長方形はrectangleオブジェクトです InDesignに新規ドキュメントが追加され、ページの左上に長方形が作成されたはずです。それでは、作…
配列は、1つの変数内に複数のデータを持つことができます。変数名の後に[ ]、その中に番号をいれて値にアクセスします。Javascriptでは配列はArrayオブジェクトとなります。空の配列を作成するときは次のように書きます。 var data = newArray(); または var…
コレクション オブジェクトを複数まとめて扱うことができるのがコレクションです。InDesignのスウォッチやレイヤーなど、複数のオブジェクトに対して一括で処理ができます。 「何番目のレイヤーを非表示にする」とか「何番目のスウォッチを塗に適用する」と…
オブジェクト コンピュータ上で操作や処理の対象となる何らかの実体のことをオブジェクトといいます。 またオブジェクトにはそれぞれ固有のプロパティ(属性)とメソッド(操作)があり、外部からのメッセージを受けてメソッドを実行し、データを操作します…
とりあえず、スクリプトでInDesignを動かしてみたい いちからスクリプトの勉強を始める前に、とりあえず、スクリプトでInDesignを動かしてみたいと思ったら、まずはESTKかVSCodeのインストール。 ESTKならCreative CloudアプリからExtendScript Toolkit CCを…
42歳になってInDesignのScriptを自分で書いてみたいと思った 印刷業界で仕事をして20年近く。印刷会社勤務だからデザインもやればオペレーションもやる。印刷について、デザインについて、その他いろいろ勉強してきたけど、ここにきてまさかのスクリプトの魅…