たぶん調べればどこかに出てくるんだと思うけど
「調べればわかる」と思いつかない可能性が高いので(とんでもねえ)メモ。
Folder, Fileなどのオブジェクトに文字列を加算すると、
暗黙の型変換が起こり、自身がfullNameを値としたStringになる。

プチ便利だけど、混乱の元なのでほどほどにやろう。
たぶん調べればどこかに出てくるんだと思うけど
「調べればわかる」と思いつかない可能性が高いので(とんでもねえ)メモ。
Folder, Fileなどのオブジェクトに文字列を加算すると、
暗黙の型変換が起こり、自身がfullNameを値としたStringになる。

プチ便利だけど、混乱の元なのでほどほどにやろう。
すっごい昔に書いたスクリプトが動かなくて、
困ってしまって教えてもらって直ってしまったのでメモ。
案件はInDesignで、
1年ちょっとぶりに初校戻しがきて(どうなんだそれは)、
配置済みの画像が大量に差し替えになって。
ふるい画像をレイアウト上で削除するのは簡単なんだけど、同時に不要になったファイルをLinksフォルダから移動したくて。
本来はパッケージで収集しなおすのが筋なんでしょうけど、
理由をかっこよく言うと「だって、したくないんだもん」です。
ちゃんとこまかく言うと、
いちど明示的にリンク切れ状態を作ってから、確実に差し替えを行うため。
で、ファイルを移動するスクリプトを書いてしまうと、移動先の名前重複など厄介が多いのと
リネームしたくない場合があることなどもふまえ。
で、ふと「レイアウト上で選択した画像のリンク元ファイルにFinderでタグ(昔でいうラベル)をつけるスクリプト」というのを過去に書いた記憶がよみがえって。
外付SSDに保管してある旧OS環境を調べてみたら、まんまと見つかったんですよ。
あのー、13年前のjsxファイルが。
で、わーいって喜んで(ほんとに「わーい」言った。職場で)
実行したら、エラー。
要約すると「System Eventsにお願いする権限がありません」と言われた。
Finder操作が絡むため、そこの処理だけピンポイントでdoScript()でAppleScriptを使ってて。
この10年ちょっとでファイルアクセスの類に関してはずいぶんと厳しくなっているので、
そのへんのあれなんだろうなあ、と、わかったようなことを思いつつ、結局わかってなくて。
これはmacOS Montereyのシステム環境設定 > セキュリティとプライバシーのスクショ。

だいたいは、ここの「フルディスクアクセス」にアプリケーションを追加しておけば動いてたんですな。
でもいま動いてないじゃんすかー。
そんでまあ、Twitterという名のメンター群に助けを求めてみました。
https://x.com/sttk3com/status/1849278046857273691
したたか企画さんからズバリの回答いただきました。彼もAdobe Community Expertやってます。
「オートメーション」を確認しろ、と。
前のスクショで見切れてたぐらい、存在を認識してすらいなかった項目。
こんな状態になってました。

チェックがついていないFinderにチェックを入れたら、やっと動きました。
ばんざいすぎる。なんというばんざい。
ほんとに助かりました。いつもいつもありがとうございます。
そんなところで、今回思ったのは、今後はスクリプトの公開・配布の際、macOS各バージョンすべてに応じたセキュリティまわりの対処法を添書きしないとだめだな、ということ。
しかしアプリケーションならまだしも、OSの全バージョンを網羅するというのは個人では実際だいぶ厳しいですね。
なので、誰かいい感じにまとまった記事を書いてくれたやつをリンクして済ませたいです(レンタルふんどし)。
そのスクリプト、ついでなので置いておk……おこうと思ったんですが
いくらなんでも昔すぎて、自分で見てもあまりに稚拙なので書きなおしました。
13年前って、ムス子が幼稚園、自分もまだ12歳ぐらいですよ※
よかったらどうぞ。
解答すると日本語名のjsxがでてきます。macOSだけで動きます。
雑に選択 → 実行 → リンク元ファイルに赤タグがつく → 選択解除されて完了 です。
リンク切れなど何らかの事由でタグ付けができなかった物は選択状態で完了するので参考にしてください。
てなかんじです。
どうもどうも。
泥作業オペレーターの悲願である
「あっちこっちに同じ文字を何度も何度も何度も何度も打つ時」
とか、あるじゃないですか。まあ、あるんですよ。
え、コピペしろって? まあねえ。そうなんですけど…
昔、それで寝言をゆったんですわ。
「選択しただけで定型のテキストが入るようにならんかなあ」って。
そしたら、まんまと叶えてもらえて。
当時、感激した記事です。さすがに記事内リンクはすべて切れていますw
InDesign:あっちこっちに同じ文字を何度も何度も何度も何度も打つ時にすごい便利なやつ
ご尽力いただいた信長と秀吉のお二人には、ほんとにもう感謝で。オッス、オラ家康!
今でも足を向けて寝られないので、毎晩北枕です。あれ、西か。西だわ。
ところがこれ、CS6当時の話で、当時のエクステンションはFlashベースだもんで、
CC2015の頃にはもう使えなくなっちまいまして。はかないよ。
(実際にはCC2019を作業メインにするまでずっとCS6を使ってたので寿命はもう少しあったが)
以来、作業効率が落ちるわ、キーボードは同じキーばっかり打つからへたっていくわ、散々。
「あたらしいのつくってー」とかおねだりできるほどツラのカワも厚くなくて(ということに)。
いつか、そのうち、自分でなんとか、とかぼんやり思って幾年、
何度かCEP系の案件をいただいたことで、ちょっとずつ自由が利くようになり、
ようやく動くものを作ることができましたのでお披露目です。
BOOTHで頒布を開始しました。
ご購入はこちらから。BOOTH「鯵屋」
購入後にダウンロードできるzxpファイルをインストールする必要があります。
インストールについては有志の作成したエクステンション管理アプリを利用してください。
下記2点いずれかで。どちらも良好に動作しています。管理アプリはMac/Winに応じたものをどうぞ。
エクステンションが正しくインストールされた場合、InDesign再起動後、メニューの ウィンドウ > エクステンション に「jsxTimer」が現れます。
※初回の起動時は登録前ということで、まだ機能制限がかかっています。せこいです。
(以下、肝心の認証の流れを追記しました。記載を忘れていましたすみません…)
UIが出現したら、右上の ≡ メニューから「注文番号の登録」を行ってください。
これはBOOTHで購入いただいた際の8ケタの注文場号です。
BOOTHにログインして購入履歴から商品をクリックすると確認することができます。


入力が終わったら、「認証」を実行してください。
これで機能制限が解除されます。やったー。

当時の物に対して、ガワ(UI)だけはなるべく忠実に模倣しました。
中身は、できればまるっともらってラクしたかったんですがスキル的に無理だったため一新しました。
端的には、
一点時間おきにスクリプトを実行するもの。
詳しくは、
一定時間おきにInDesign上の選択範囲をみて、前回と違っていたらスクリプトを実行します。
なので、操作してないのに延々スクリプトが走る、ということにはなりません。
あのー、お鍋の吹きこぼれ防止装置みたいなもんです。
なにかを選択するたびにスクリプトが実行される、と思って差し支えありません。
外観はこんなかんじです。

一番上から、
クリックしたスクリプトボタンは赤色(アクティブ)になりタイマーが発動します。
スクリプトの不備や選択オブジェクトの属性違いでエラーが起きたときは黄色になります。
もう一度クリックで基本色になりタイマーが解除されます。
フライアウトメニュー「ツールヒントの表示」で、上記の説明がひととおり出ます。
見終わったら作業のじゃまになるので再び「ツールヒントの表示」を実行して表示を切りましょう。

実際の動作はこんなかんじです。基本となるスクリプト「文字を挿入」を使用して、
挿入文字列に「です」を入力。
あとはレイアウト上のテキストを選択しただけで「です」が入力されていきます。
デモなので反応遅めにしてますが、実務ではディレイを落とし、もっと瞬間でいきます。

実際この内容だと「正規表現検索置換でよくね?」ともなるんですが…
フリーダムな文字訂正指示に手早く対応できるでございます。
サンプルとして以下のスクリプトを同梱してあります。
基本的には名前順で並ぶが、ファイル名先頭に「00_」とナンバリングしておけば
優先して前に来る、という仕様にしました。
UI上ではナンバリングと拡張子は省略され、すっきりな表示になります。

それ以外のスクリプトは各自で用意してもらうことになりますが、
ちょっとのスクリプトでも絶大に便利化します。まじです。
書けない人は書ける人つかまえて書かせましょう。
2つばかし、定数のような変数を用意してあります。
処理内容にそぐわない選択範囲に早い段階で見切りをつけるための仕組みです。
豪華なPCを使っている場合は無視して大丈夫です。
filter: 選択範囲の種別を指定。指定外の属性は調査をスルー。
maxSelectionLength: 選択オブジェクトの最大個数を指定。指定数以上は調査をスルー。

また、実行ブロック内で利用できる変数・関数があります。
詳細はコメントで記載しているほか、サンプルスクリプト内で利用していますので参考にどうぞ。

そんなかんじです。
はかどりすぎて顔がニヤけてしまい周囲に気味悪がられることうけあいです。
どうぞどうぞ。