DTPab

DTPにまつわるあれこれ

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

改訂履歴

  • 2019.06.06
    v0.2.1 ドキュメントの1ページ目にしかテキストフレームが生成されない不具合を修正しました。

はじめに

けっこう前になりますが、バンフーセミナーで森さんが「ライブキャプション機能で画像の下にまとめてテキストフレームを作る」というTipsを紹介してくださいました。

第198回バンフーセミナー | 印刷のあらゆるニーズにお応えする 印刷会社の帆風(バンフー)

そのとき、なるほどいいことを聞いたと思って試していたのですが、オブジェクトスタイルが充てられないというのがいちばんの不満でした。
テキストはあとでなんとでもするので、オブジェクトスタイルを充てた状態でオブジェクトのサイズに合わせたテキストフレームを生成したいと思いました。

使い方と動作画面

スクリプトを実行するとパネルが現れるので、セットしたいオブジェクトスタイルをリストから選んでおき、実行ボタンを押します。そうすると選択したオブジェクトのサイズに合わせたテキストフレームが、そのオブジェクトの下に生成されます。

f:id:uske_S:20190530204141g:plain

生成されたテキストフレームは一度のUndoでスクリプト実行前に戻れる親切設計になっています。

オブジェクトスタイルの「テキストフレーム自動サイズ調整」を設定しておくと自動でリサイズしてくれるようになるのでおすすめです。 f:id:uske_S:20190530205042p:plain

動作確認バージョン

Mac版InDesign CC2019で作成・動作確認を行っています。CC以降であれば問題なく動作すると思いますが下位バージョンへの対応は考えていないので、動けばラッキー程度にお試しください。
ちなみにdoScriptメソッドを使用している都合上、CS4より古いものでは絶対動きません。あしからず。

既知の不具合

いまのところ特にないですが、パネルを表示した状態でオブジェクトスタイルを消したり追加したりしてもパネルには反映されませんので、リストを更新したい場合はダイアログを閉じ、改めてスクリプトを実行してください*1

コード

GitHubにアップしてありますが、こちらにも貼っておきます。

余談

はじめに作ったときはモーダルダイアログ*2でした。

f:id:uske_S:20190530205359g:plain

ツイートしたらフローティングウィンドウにして!という声が出たので、それもそうだなと思って書き換えました。
この書き換えが意外と面倒くさくてむかしは結構苦労しましたが、それでも30分くらいかかりました。はじめにちゃんと仕様を決めておけよ、というね。

*1:名前の変更程度ならリストを更新しなくても動作しますが、生成されたテキストフレームに正しくスタイルがあたっているかどうかはよく確認してください。

*2:ScriptUIのdialog。