はじめまして。
定期的に数十のインデザインファイルを開き、各ファイルで使った画像を片っ端から手作業で削除する作業を行う係りが自分に回ってきてしまいました。
日頃IllustratorとPhotoshopを多用しているので、「こんなのマクロでしょ」と思いきや、インデには何故かマクロ機能がなく、代わりにスクリプトで何とかできる「かも」ということが分かりました。
やりたいことは以下の通りなのですが、簡単にできるものでしょうか?
1.特定のフォルダ内にある全インデファイルを開く
2.全てのファイルで使われている画像データを削除
3.全ファイルを上書き保存
osはwindowsなのでVBで対応すべく書籍を買い込み学習を開始しました。
どなたかヒントをいただければ幸いです。
それにしてもアドビさん、なぜインデにはマクロ機能つけてくれなかったの(T . T)
No.1ベストアンサー
- 回答日時:
マクロというかスクリプトというか、
結局の所、自動処理ですから、
呼び方が違うだけだと思うです。
>やりたいことは以下の通りなのですが、簡単にできるものでしょうか?
簡単です。
>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
これでファイル名を指定して保存できます。
素晴らしい回答をありがとうございます。さっそく試させていただきます。お答えのようなスクリプトが書けるようになると理想的ですが、生粋のDTPオペレーターに言語まで要求するのかと思うと、インデザインの要求水準って高いですね。頑張らないと!
ありがとうございましたm(_ _)m
No.2
- 回答日時:
Adobeのアプリは『JavaScript』を使用し自動化する事が出来ます。
但し『マクロ』として存在している訳で無く『一から』作成する必要が
有ります。
http://www.openspc2.org/book/InDesignCS6/
ここではライブラリを提供してます。
Macでは『AppleScript』で簡単に動作を記録して作業出来るアプリが有ります
ありがとうございました。
IllustratorやPhotoshopにはアクション機能がついていて、質問ではそれをマクロと書いてしまいました。調べたところ、どうやらこれらのアクション機能はバッチ処理の類に入るそうです。私がしたいことはこの機能で十分な気がしたのでボヤいてしまいました。ご回答、参考にさせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/02/21 11:19
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク 4 2023/07/05 19:32
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/10 11:34
- Excel(エクセル) Excel、同じフォルダ内のExcelファイルの特定シートのみを1つのファイルに集約したい 8 2022/09/07 15:12
- Excel(エクセル) 記録マクロのみでできますか? 7 2022/08/07 20:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のエクセルファイルを起動...
-
共有フォルダに誰が何にアクセ...
-
Batch: フォルダ内の特定のファ...
-
(Excelマクロ)datファイルをエ...
-
【Excel】[Expression.Error] ...
-
vbsでゴミ箱への移動
-
VBAでCSVファイルが使用中かど...
-
tmpファイル なぜできる?削除...
-
AccessVBAで作成したExcelファ...
-
社内Excel共有ブックでの保存ト...
-
Access VBA を利用して、フォル...
-
Excel VBA 処理後データが重た...
-
excelを共有ファイルにすると行...
-
テキスト内容の削除方法
-
access関数を説明できる方いま...
-
テキストエリアに入力された回...
-
【アクセス】「ほかのユーザー...
-
アクセスとワードへの差し込み印刷
-
Dream weaverで、誤ってファイ...
-
自動保存されない。何か設定が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
共有フォルダに誰が何にアクセ...
-
【Excel】[Expression.Error] ...
-
特定のエクセルファイルを起動...
-
Batch: フォルダ内の特定のファ...
-
VBAでCSVファイルが使用中かど...
-
XMLデータを変換し印刷する方法
-
AccessVBAで作成したExcelファ...
-
月が変わったら自動でシートが...
-
Access VBA を利用して、フォル...
-
tmpファイル なぜできる?削除...
-
excelを共有ファイルにすると行...
-
Excel VBA 処理後データが重た...
-
(Excelマクロ)datファイルをエ...
-
エクセルファイルのデータ転記...
-
社内Excel共有ブックでの保存ト...
-
大量のCSVデータを行列の変換を...
-
【アクセス】「ほかのユーザー...
-
ファイルの途中に文字列を挿入
-
拡張子が「cda」のファイルを聞...
-
CSVの項目行を削除して一つのフ...
おすすめ情報