DTPab

DTPにまつわるあれこれ

ExtendScript

InDesign 15.0.2 コミュニティスクリプトを紐解く 5

仕事が全然収まっていない中で、働き方改革法案の残業時間内でどうにか回るようにチームメンバーたちにがんばってもらっているこの頃です。こんばんは。 今回もこれらの記事の続きになります。 InDesign 2020(15.0.2)で追加されたコミュニティスクリプト -…

InDesign 15.0.2 コミュニティスクリプトを紐解く 4

仕事が「霧の中を航行する船が突然海賊に襲われた」みたいな状態になっていて毎日やばいです。こんばんは。 仕事がそんななので遅くなってしまいましたが、今回は下記の記事の続きになります。 InDesign 2020(15.0.2)で追加されたコミュニティスクリプト -…

配列に要素が含まれるかどうかを調べるArray.some()メソッドをポリフィルする

あらまし haragurai-is-bad氏が、記事中でArray.indexOf()メソッドをポリフィルしてExtendScriptに実装していらした。 haraguai-is-bad.hatenablog.com 実はポリフィルしてた 記事のコメントにも書いたとおり、僕はArray.some()メソッドをポリフィルしていま…

選択したオブジェクトがアンカー付きオブジェクトかどうかを判定する

どういう実装がいいのかいまいち決めきれないものの一つにこれがある。 いま使っているのは下記2種類。 var sel = app.activeDocument.selection[0]; // 1: アンカー付きオブジェクト専用プロパティにアクセスしてエラーを起こす try { sel.anchoredObjectSe…

InDesign 15.0.2 コミュニティスクリプトを紐解く 3

今回はカーソル(キャレット)位置に任意の文字をUnicodeInjectorスクリプトについてです。 これらの記事の続きになります。 InDesign 2020(15.0.2)で追加されたコミュニティスクリプト - DTPab InDesign 15.0.2 コミュニティスクリプトを紐解く 1 - DTPab…

Illustrator 2020の特色の不具合を検知するInDesign スタートアップスクリプト

この件の詳細は下記UserVoiceを参照ください。 Bug of saving in the background of Illustrator 2020 – Adobe Illustrator 取り急ぎスクリプト書いてみた。スタートアップスクリプトとして使ってください。 //@targetengine "checkGlobalColor" app.addEven…

InDesign 15.0.2 コミュニティスクリプトを紐解く 2

今回はオーバーライドを削除するというClearStyleOverridesスクリプトについてです。 こちらの記事の続きです。 uske-s.hatenablog.com uske-s.hatenablog.com はじめに ClearStyleOverrides.jsx 機能の説明 前提条件 注意点 ClearStyleOverrides について雑…

InDesign 15.0.2 コミュニティスクリプトを紐解く 1

昨日速報的に書いた記事の続きです。 uske-s.hatenablog.com 今回はBreakTextThread.jsxを読み込んでみます。 はじめに BreakTextThread.jsx 機能の説明 前提条件 注意点 BreakTextThread について雑感 はじめに Adobeのヘルプだけでは心許ないので、中身を…

InDesign 2020(15.0.2)で追加されたコミュニティスクリプト

InDesign 2020(15.0.2)のアップデートがきましたね。 InDesign ヘルプ | 機能の概要 | InDesign | (2020 年 2 月リリース) ここでコミュニティスクリプトなるものが登場しました。 実際にアップデートすると、スクリプトパネルに「コミュニティ」という…

InDesignの表でセルの高さを自由に変えたい

割と知られた話かと思いますが、InDesignでのセルの高さは、最低値が決まっています。 それより小さくしようとすると怒られるんですよね。 高さ3pt未満に設定できない それが3ptという分水嶺。 しかしスクリプトから指定すると、これがすんなり受け容れられ…

QueryGroupSwitcher(製品版)リリース!

以前、下記の記事で「体験版を公開した」とお伝えしたスクリプトですが、このたびやっと製品版リリースと相成りました! uske-s.hatenablog.com 詳しくはBOOTHの商品ページ、またそこからリンクしている製品マニュアルページをご参照ください。 当初の発注者…

DTPerのスクリプトもくもく会#16を開催しました

先週の1/25(土)、DTPerのスクリプトもくもく会#16を開催しました。 今回はけっこう広めのスペースを安く借りられたので、とても快適なもくもく会になりましたね。そのおかげもあってか、質問と情報共有と交流がほどほどに行われていて、主催としてはとても…

InDesignドキュメントにPDFをまとめて配置

仕事の合間にいろいろやりながら、来月の登壇資料とか作っている毎日です。仕事が割と繁忙期なのでまあ体力続かなくて辛いですね…。 さて、今日はAdobe謹製のスクリプトに手を加えちゃおうという内容です。 最初から入ってるやで どうする? コード もとのコ…

BOOTHでスクリプトを公開しました

まだベータ版で申し訳ないのですが、BOOTHでスクリプトをひとつ公開しました。 uske-s.booth.pm 下記の記事で言及していた、正規表現検索置換クエリを管理するスクリプトです。 uske-s.hatenablog.com ベータ版で公開している理由ですが、単純にコードが気に…

これまでの振り返りと2020年

あけましておめでとうございます。 早いもので2019年があっという間に終わってしまい、令和2年、2020年が幕を開けてしまいました。今年最初の記事は、昨年をKPTで振り返りつつ、今年の抱負を綴りたいと思います。 2019年のKeep(できたこと、継続すること) …

InDesignのExtendScriptでルビを実装しよう

1年は早いもので、今年も残すところあと1ヶ月となりました。そう、12月といえばクリスマス、クリスマスといえばアドベントカレンダー! ということで、この記事はDTPアドベントカレンダー2日目の記事になります。 前回の記事はTen_Aさんの『INDESIGNで圧縮フ…

実行しているドキュメントの判定とスクリプトの再実行

現在アクティブなドキュメントに対してスクリプトを実行したあと、そのスクリプトを再度実行する際、アクティブなドキュメントが前回と同じかそうでないかを判定するにはどうしたらいいか? という話を同僚から相談されました。 実は以前こんな記事を書いて…

InDesign ExtendScriptで「テキストを選択しているかどうか」の判定方法

InDesignのExtendScriptでは、テキストに関するサブクラスがたくさんあります。これらを使って「選択しているオブジェクトはなにか?」というのをよく実装するわけですが、毎度毎度「TextStyleRangeと、あとなんだっけ……」みたいに全部をパッと思い出せない…

実行している関数名の表示

個人的なメモです。 !function myFunction () { alert(arguments.callee.toString().match(/^function (.+?)\(/m)[1]); }(); やってることは単純で、arguments.calleeプロパティで関数そのものを参照。 toStringメソッドで文字列化した上で、正規表現でfunct…

InDesignで作業中に別のアプリを起動するショートカットが欲しい

InDesignのいつのバージョンからか、Macのグローバル・ショートカットキーが機能しなくなったように思います。 僕はInDesignでテキスト入力中でもGoogle日本語入力環境設定を表示したいなーと思ったりします。思いますよね。思うと思うんですよ。絶対。 なの…

macOS Catalinaで32bitアプリケーションが動かなくなる

概要 Catalinaにアップデートすべきか? VSCodeのES debuggerが最適解なのか? ESTKの今後 まとめ 概要 先日リリースされたmacOS 10.15 Catalinaですが、以前から言われていたように、32bitアプリが動かなくなっているようです。 32bitアプリには、Adobe CC…

「マスターページを適用するスクリプト」を作るスクリプト

var actDoc = app.documents[0]; var mstSpr = actDoc.masterSpreads; for (var i=0; i

マスターページの名前を一括変更する

var doc = app.documents[0]; var msp = doc.masterSpreads; var reg = /ほげ/; //検索ワード(/正規表現/か "文字列" とする) var rep = "ぴよ"; //置換ワード("文字列" のみ) for (var i=0; i

InDesignのハイパーリンクを脚注に変換するサンプル

var hpl = app.documents[0].hyperlinks; for (var i=0; i

技術書典7 TazBooksさんの新刊に寄稿しました

ご案内 寄稿内容 目次 そのほか 委託本 【8/27 21:00 追記】委託本の書影を追加しました ご案内 前回に引き続き、今回もお声がけいただいてTazBooksさんのAdobeCCアンソロジーの新刊に寄稿しました。 techbookfest.org サークルチェックよろしく! 寄稿内容 …

ページパネルから選択したページだけをひとつづきのPDFとして書き出したい

背景 機能と使い方 コード ページパネルから選択したページを取得する仕組み 似てるスクリプトは既にあった 背景 Twitterで見かけて「スクリプトならまぁできますね」と適当なことをつぶやいたのですが、それでできなかったらカッコがつかないと思い、試しに…

ScriptUIでグループをまたいだラジオボタンの処理

元ネタ コード 開発モノローグ スキル発動 for文で処理しよ for文でonClickメソッドを定義 チャレンジ その1 原因究明 チャレンジ その2 原因究明 チャレンジ その3 真面目に解説 元ネタ id:haraguai_is_bad さんがブログで面白いスクリプトを公開されていま…

フォルダの中のinddファイルすべてを対象にスクリプトを実行する

コード 解説 積み残し というスクリプトを書いてみました。 最低限のエラー処理などは組み込んでいますが、しっかり検証していませんのでご利用は自己責任でお願いします。 できればinddファイルのバックアップなどは取っておいていただいたほうがいいかもし…

よく使う処理・使うたび調べる処理はプロトタイプ拡張するといい

よく使う処理、いやむしろたまにしか使わなくて詳細を調べながら使う処理、ありますよね。 あと使うためにわざわざ値を変数に入れなくちゃいけない処理とか。 そういうものをプロトタイプ拡張して使いやすくできるのもJavaScriptのいいところです。 以下はそ…

東京のDTP勉強会特別編#6のお手伝いをしてきた

はじめに 会に参加してみて 全体を通して CCアプリ自動化について(Ten氏) Illustratorスクリプトハンズオン(したたか企画氏) InDesignスクリプトハンズオン(Ten氏) さいごに 追記 はじめに 東京のDTP勉強会特別編#6、スクリプトハンズオン勉強会にサポ…