DTPab

DTPにまつわるあれこれ

ExtendScript

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、スクリプトハンズオン勉強会にサポ…

オブジェクトにまとめてキャプション用のテキストフレームを追加したい

改訂履歴 はじめに 使い方と動作画面 動作確認バージョン 既知の不具合 コード 余談 改訂履歴 2019.06.06 v0.2.1 ドキュメントの1ページ目にしかテキストフレームが生成されない不具合を修正しました。 はじめに けっこう前になりますが、バンフーセミナーで…

ExtendScript Debugger for VSCode ver. 1.1.0 がリリース

v1.1.0がリリース 新しく追加された機能など シンタックスチェック ステータスバーの文字色が変更可能に #target、#targetengineに対応 extensionModeの実装 で、launch.jsonどうする? 今後のESDebugger v1.1.0がリリース 先日、ExtendScript Debugger for …

正規表現スタイルを全部書き出す

増えすぎた正規表現スタイルをきれいにしたい…ということになり、秘伝のソースのような、過去の担当者たちが継ぎ足し継ぎ足し作り上げてきた正規表現スタイルを整理することになりました。 ただInDesignの段落スタイル編集パネル上では読み解くにも限界があ…

ふたたびのArray.filter

過去自分で書いたArray.filterですが、うまく動かないことがあると言われまして、ずっと喉の奥に刺さったトゲのように気になっていました。 uske-s.hatenablog.com Twitterでごろりぶさんともそんな話をしたのです。 きちんと比較するなら厳密比較演算子使う…

1if-1for(4):複数のオブジェクトをあるオブジェクトに置き換えたい

久しぶりに1-if, 1-forなスクリプトっす。いや実際にはifがないので1forのみ。 使い方は、 置き換えられるオブジェクトをまとめて選択 置き換えたいオブジェクトを最後にポチッと選択 そんだけ。 Undo(⌘+Z)1回でスクリプト実行前に戻れるオシャレ仕様です…

ExtendScript Debugger for VSCodeがリリースされたので簡単にまとめてみた

v1.1.0がリリース(2019年5月26日追記) おさらい ExtendScript Debugger Plugin 導入前に Windows版はベータ版 プレリリースプログラム参加者へ サポートされた機能 サポートされない機能 プラグインの使い方 launch.jsonの用意 launch.jsonの設定値 debugg…

AppleScriptのwhoseメソッドを真似てみた

標題の通り、Array.prototype.whoseメソッドなど実装してみた。 コード サンプル サンプルコードとしては以下のようにします。 var paraStyles = app.activeDocument.allPagraphStyles; var tgtParaStyle = paraStyles.whose({name: "hoge"}); この例では、…

InDesign CC2017以降のSUIのデバッグのしにくさが加速

InDesign CC2017以降、ESTKから実行したスクリプトでScriptUIの仕様が変わっているようです。 typeがpaletteのとき、SUIダイアログがwindowのようにアプリケーションの裏側に回り込んでしまうようになりました。 スクリプトを保存し、スクリプトパネルから動…

types-for-adobeによるスクリプト開発:行と段落の選択を支援するスクリプト

スクリプト概要と開発の経緯 Typescriptでのスクリプト開発 スクリプトの動作 スクリプト概要と開発の経緯 DTPTransitさんで少し前から配布していただいているスクリプトがあります。 www.dtp-transit.jp そのコードはこの記事に載せてあります。 uske-s.hat…

InDesign用サンプルスクリプトのリファクタリング(1)

はじめに リファクタリングしよう 実際のコード サンプルコードの解読 main関数 myDisplayDialog関数 myAlignObjects関数 myAlignObject関数 オーバービュー まとめ はじめに InDesignやIllustratorには、最初からサンプルスクリプトがプリインストールされ…

合成フォントの設定を書き出す

あけましておめでとうございます。 今年は週1回の更新を目標にブログを更新していければなーと思ってますが、果たしてどうなるやら。。。 それはさておき、今年最初の記事は合成フォントの設定をテキストファイルとして書き出すスクリプトです。例によって…

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

はじめに 師走になって日に日に寒くなってきたような気がしますが、昨日12/1(土)、DTPerのスクリプトもくもく会#10を開催しました。今回は特別にアナウンスしたり宣伝したりしたわけではなかったのですが、なんと14人の方にご参加いただきました(当もくも…

ESTKが動かない…?

昨日から、どうやらMac版のExtendScript Toolkitで不具合が生じているようです。 動作アプリケーションを指定しても、ESTKで単体のスクリプトとして実行してもこの警告が出ます。 古籏さんの検証では、どうやら日付に問題があるとのこと。 原因&解決方法が…

もくもく会#9 開催報告

先月22日、DTPerのスクリプトもくもく会#9を開催しました。仕事がべらぼうに忙しく、なかなかブログを更新できずにおりました。というわけで開催報告です。 今回はまたコワーキングスペースによる有料開催ということで、最初から6名と少なめの募集にしまし…

表組の列幅をまとめて変更したい

先日、同僚から「表組の列幅をポチポチ手動で決まったサイズに変えていかなきゃいけないんだけど、表組がぶつ切りになっていて辛い。スクリプトでなんとかできないの?」と相談されました。 そのときは適当に5分くらいで書いたスクリプトを渡して事なきを得…

InDesignの合成フォント関係スクリプト3件

Twitterで意外に反響があってびっくりしました。InDesignの合成フォントまわり、本当に面倒なんですよね。やっぱりみんな苦労するところは同じなのか…w さて、合成フォント関係のスクリプトを3つ紹介します。 すべての合成フォントに特例文字セットをまとめ…

ScriptUIを少しだけ簡単に利用するモジュール

随分前のもくもく会で、ScriptUIを楽に生成するモジュールを公開しました。 実はそのモジュールを知っている方が前回のもくもく会にいらしてくださり、使い方について改めて説明しました。 説明していて思ったのですが、コードが、その、なんというか、気持…

1if-1for(3):特定の文字スタイルの次の文字

職場で「ある文字スタイルが当たっている文字の、次の文字をスクリプトで処理したいが可能か?」と聞かれたので、試しに書いてみました。 そしたら結果的に1if-1forで収まったのでここに書いておきます。 この画像は、スクリプトで色が青くなる文字スタイル…

ボタンを横並びにしたカスタムダイアログ

ScriptUIでダイアログを作るのが面倒くさいと思いません? かといってconfirmメソッドの「はい・いいえ」とか「Yes・No」って内容じゃないんだよな…というときありますよね? そういうときのためにちょっとしたカスタムボタンのダイアログです。 コードの最…

1if-1for(2):フレームを線幅分小さくする

前回の記事で合成フォントの削除について書くとか書きましたが、諸事情により、選択したオブジェクトを線幅分小さくするスクリプトになりました。楽しみにされていた方(いるのか?)、申し訳ありません。 なぜかって? 急に欲しくなったからです!! さて、…