- ベストアンサー
VBを使ってIndesign作業を効率化する方法
- VBスクリプトを使用して、Indesign作業を効率化する方法について紹介します。
- 特定のフォルダ内の全てのIndesignファイルを開き、使われている画像データを削除し、ファイルを上書き保存する方法を説明します。
- Windows OSである場合、VBを使用してこの作業を行うことができます。アドビがなぜマクロ機能をIndesignに付けてくれなかったのかは不明ですが、VBスクリプトを使うことで同じ目的を達成することができます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
マクロというかスクリプトというか、 結局の所、自動処理ですから、 呼び方が違うだけだと思うです。 >やりたいことは以下の通りなのですが、簡単にできるものでしょうか? 簡単です。 >1.特定のフォルダ内にある全インデファイルを開く Set MyInDesign = CreateObject("InDesign.Application.CS4_J") Set MyDoc = MyInDesign.open("C:\test.indd") これでCドライブのtest.inddファイルが開きます。 フォルダ内のinddファイルをDIR文などで取得して、 インデザインにopenさせればOKでしょう。 >2.全てのファイルで使われている画像データを削除 先程のMyDocに画像が配置されていれば、 msgbox MyDoc.Links.count と書けば、配置されている画像の個数が取得できます。 for N = MyDoc.Links.count to 1 step -1 MyDoc.Links(N).parent.delete next N と、逆順にループさせて、削除させれば良いでしょう。 parent=親という意味なので、画像の入っている枠ごと 削除することになります。 >3.全ファイルを上書き保存 SVPT = "C:\testtest.indd" MyDoc.Save SVPT これでファイル名を指定して保存できます。
その他の回答 (1)
Adobeのアプリは『JavaScript』を使用し自動化する事が出来ます。 但し『マクロ』として存在している訳で無く『一から』作成する必要が 有ります。 http://www.openspc2.org/book/InDesignCS6/ ここではライブラリを提供してます。 Macでは『AppleScript』で簡単に動作を記録して作業出来るアプリが有ります
お礼
ありがとうございました。 IllustratorやPhotoshopにはアクション機能がついていて、質問ではそれをマクロと書いてしまいました。調べたところ、どうやらこれらのアクション機能はバッチ処理の類に入るそうです。私がしたいことはこの機能で十分な気がしたのでボヤいてしまいました。ご回答、参考にさせていただきます。
お礼
素晴らしい回答をありがとうございます。さっそく試させていただきます。お答えのようなスクリプトが書けるようになると理想的ですが、生粋のDTPオペレーターに言語まで要求するのかと思うと、インデザインの要求水準って高いですね。頑張らないと! ありがとうございましたm(_ _)m