Practice makes Perfect !

ExtendedScript素人です。同じ境遇の方、一緒に脱素人を目指しましょう!

データ結合で発生するコロン(:)みたいな制御文字を消したい

毎日暑いですね。ブログって書かなくなると面倒になるものですね。立ち上げ当初はブログで稼いでやるぜみたいなことちょっとだけ思ったりしてましたけど笑。このまま何も書かなくなりそうと危惧したので2ヶ月前のTwitter(X)でのやり取りを載せておきたいと思…

実験010_2023.4-1

見開きPDFをInDesignを使って単ページにバラすスクリプト ページ物が見開き(PDF)で入稿された場合の対応 ページもののデータが見開きのPDFで入稿されることがたまにあります。しかし見開きで入稿されてしまうと、中綴じにしろ無線綴じにしろ、面付けできま…

実験009_2022.10-1-2

1行に収まっていない段落があるテキストフレームを探し出し、該当する段落を1行に収める 前回は該当するテキストフレームを探し出して黄色で塗りつぶすというところまでまとめました。 今回はその該当テキストフレームの中を覗いていくスクリプトです。前回…

実験009_2022.10-1

1行に収まっていない段落があるテキストフレームを探し出したい 昨日Twitterで呟いてみたんですけど、1行に納まっていない段落があるテキストフレームをドキュメント全体から探し出したいと思っていました。正規表現やスクリプトで図のように1行に納まってい…

for...in文

前回連想配列についてまとめたので、次にfor...in文をまとめてみます。 for...in文は①オブジェクトのプロパティや②プロパティの値を効率よく抽出できます。 for文と何が違うのかと思ったんですが、初期化やループ条件の記述をしなくてよいというところでしょ…

for...in文をラーニング…の前に連想配列をラーニング

まだまだ分からないことだらけですね。以前からfor...in文というのは何だろうと気になっていたのでいろいろと調べていました。 for( var 変数 in オブジェクト ) { 処理 } こういうやつです。ところがこれについて調べていくうちに連想配列について学ばなく…

実験008_2022.9-1-3

「このマスター…何ページに使われてるの?を解決」というタイトルで今月の初めにまとめていましたが、その後、Uske_S (id:uske_S) さんの「ScriptUIを少しだけ簡単に利用するモジュール」を使わせていただいたものが完成したのでまとめます。 uske-s.hatenab…

実験008_2022.9-1-2

InDesign2022から「マスターページ」が「親ページ」に変わってしまったからそれに合わせて親ページと言った方がいいのかもしれませんが、まあとにかく馴染まないですね。前回の記事で指定したマスターが適用されているページを表示するスクリプトについてま…

実験008_2022.9-1

このマスター…何ページに使われてるの?を解決 InDesign 1ファイルで1,000件以上ある名刺のデータで、更にマスターが10種類とかあったりすると、「あれ、このマスターって何ページで使われてるの?」ってことがよくありまして。それを解決するスクリプトを考…

AdjustPageItems.jsxとdoScript

AdjustPageItems.jsxは単位をミリでつかえるようにしたい InDesignのサンプルスクリプトに含まれている「AdjustPageItems.jsx」。複数ページのPDFをInDesignに流し込んだ後で奇数ページと偶数ページに分けてそれぞれ位置をずらすことができるので重宝してま…

実験007_2022.8-1 未使用レイヤーを削除

使用していないレイヤーがたくさん残っていてうっとうしいと感じるデータってあると思います。また、レイヤーはたくさん作るよりも少ない方が作業がやりやすいと思います。無駄にレイヤーを作成しているデータを見かけることが良くありますが、いざ作業しよ…

実験006_2022.7-2

ガイド引きすぎドキュメントにさよなら ・△・)ノ バイバイ 特に顧客の担当を決めない職場では前回データの修正作業になると前回担当者のクセの残ったデータを扱うことになる。「新規でデータ作成の際は次回他者が扱うことも考えて作るように」と部署内でのルール…

実験005_2022.7-1

名刺データの管理 ある顧客の名刺データが2,500件以上ある。前任者はこれを店舗ごとに管理したものだからInDesignのファイル数が70近くなっており、注文が来ると①店舗名で付けたファイル名から使用するInDesignファイルを探す(この時点で無駄) ②該当ファイ…

実験004_2022.6-1

背幅を入力して表紙(貼込)用のドキュメントを作成するスクリプト 入稿された表紙のデータが見開きになっていない場合、InDesignに貼って見開きのPDFを作成することがあります。また見開き(背幅込)で入稿されたAIデータでも勤務先ではAIから直接PDF作成せ…

入力された数値を使った計算

とても簡単なことなんでしょうけど、 やっぱり独学ってつまづくことがいろいろありまして。 「入力された数値に10を足して答えを表示する」 これだけのことなんですけど全然わかりませんでした。最初に書いたスクリプトはこちら。 var rt = prompt("数値を入…

Bounds! Bounds! Bounds!

ページの上下左右4辺の座標はBoundsで取得できるんですね。 知りませんでした。A4のドキュメントを作成して var doc = app.activeDocument.pages[0]; $.writeln(doc.bounds[0]); // 上 $.writeln(doc.bounds[1]); // 左 $.writeln(doc.bounds[2]); // 下 $.w…

新規ドキュメントの作成

前回の更新日が昨年の11月… 年末から繁忙期に入ったとはいえ、ずいぶん長い間、ブログ更新してないな、と思います。 そして、繁忙期が終わったあと、せっかく勉強してきたスクリプトをほとんど忘れているという悲しい状況でございました。 リハビリを兼ねて…

実験003_2021.11-1

指定したページに、指定したマスターを当てるスクリプト ページものを作っていて、各カテゴリや各章ごとにマスターが変わるときに、2・3個のマスターなら手動で割り当ててあげればいいのですが、マスターが10個とか20個とかあると、もうそれだけでうんざり… …

Recommend_002 段落の選択→任意の行数に収める

段落の選択に4回クリック? 1つの段落を選択するのにInDesignでは4回クリックしなければなりません。 4回のクリックなんて楽なようで面倒です。 スクリプト→ショートカットで解決してしまいましょう。ちなみにシングル、ダブル、トリプルの次って何だ?と思…

Recommend_001 基準点の変更

InDesignでオブジェクトを選択して、基準点を選択して、位置と大きさを指定して…という作業がいつも面倒くさいと思っていました。これだけでマウスを3回クリックしなくてはいけない…。オブジェクトを選択して「Crtl+6」でX座標に入れることは知ってはいまし…

関数と引数

関数の目的 スクリプトの勉強を始めたころは本当にこの関数が分かりづらく、「もうやめようかな…」て何度か考えたものでした。 しかし、特に難しく考える必要はなかったようで、単に「まとまった処理を行う機能」が関数であると考えればよさそうだと思うよう…

ファイル選択ダイアログ・ファイル保存ダイアログ・フォルダ選択ダイアログ

ファイル選択ダイアログ ファイルを開くときや選択するときに使います。第1引数 表示させるメッセージ 第2引数 選択可能なファイル形式を制限 第3引数 trueで複数選択可能。デフォルトはfalseとなっています。 var fileObj=File.openDialog("ファイルを選択…

確認ダイアログと入力ダイアログ

確認ダイアログ 「はい」か「いいえ」をユーザーに選択させるダイアログです。 戻り値は「はい」ならtrue、「いいえ」ならfalseとなります。例えば confirm("新規ドキュメントを作成しますか?"); と入力すると次のように表示されます。 第2引数にtrueを入れ…

第1引数とか、第2引数とか。

オブジェクトの移動がわからなくて、つまづく… InDesignのExtendedScriptを勉強し始めた当初は、とにかくネットでたくさんの情報を調べました。ネットに上がっているものをダウンロードしてESTKで開いて、どういう作りになっているのか考えて、それでもわか…

実験002_2021.10-2

選択オブジェクトの座標の汚い数字をすっきりするスクリプト 会社によるのでしょうが、現在の勤務先では「このお客様の仕事はこの人が担当する」といった決まりが特にありません。もちろんお客様に気に入っていただけるものを作った場合などは、次回も指名を…

エラー回避

ネットに上がっている様々なInDesign用のExtendedScriptを拝見していくと、きちんと条件判断でエラー回避をしてあるものが多く、どれだけ努力をしたらこんな風に信頼性の高いものを作れるようになるのかと、途方に暮れることがあります。 全く先は長い、長す…

実験001_2021.10-1

はじめに Scriptの初心者ながらも、いろんなサイトを見て、調べて、真似していって、自分で使えるように作っていったものをあげていきたいと思います。 何分独学で1年ほど勉強していった程度ですので、大したものは作れませんし、すっきりしない構文になって…

関数

関数は汎用的に利用できる処理をまとめたものです。箱のような入れ物に機能をまとめておくと考えるとわかりやすいと思います。関数は定義する場合はfuncution( )を使います。function 関数名 ( 引数 ){ 命令文; }引数が複数ある場合はカンマで区切ります。ま…

繰り返し

繰り返しの処理を行うには、for( )またはWhile( )を使います。for文は繰り返しの回数が決まっている場合に、while文は、条件を満たしている限り処理を繰り返したい場合によく用いられます。 for文 for文は次のように書きます。for (変数名=最初の値; 変数名 …

条件判断

条件判断はif( )を使います。 ( )の中に条件文を書いて、条件文の結果が真(true)の場合に実行します。 if文を使うことで、「もし(true)ならこの処理」「そうでなければ(false)この処理」というように条件によって処理を分けることができます。書式は次…