• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:photoshop 保存のjavaスクリプト)

Photoshopでフォルダ内のJPGデータをPSD形式で保存するスクリプト

このQ&Aのポイント
  • Photoshopのスクリプトを使用して、フォルダ内のJPGデータをPSD形式で保存する方法について教えてください。
  • 保存したいフォルダ内の全てのJPGデータをPSD形式で開き、同じフォルダに対応するPSDファイルを保存するスクリプトを作成したいです。
  • 現在のスクリプトでは、保存するたびに確認メッセージが表示され、手動で閉じる必要があります。自動で保存し、閉じるスクリプトの作成方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • grazie
  • ベストアンサー率56% (200/355)
回答No.3

ダイアログを出ないようにしたらいいと思いますよ。 app.displayDialogs = DialogModes.NO; と書きます。 こんな感じです。 app.bringToFront; app.displayDialogs = DialogModes.NO; function saveAsPSD(doc, name){ var psdSaveOptions = new PhotoshopSaveOptions(); var documentPath = name+".psd"; var fileSpec = new File(name); psdSaveOptions.alphaChannels = true; psdSaveOptions.annotations = true; psdSaveOptions.embedColorProfile = true; psdSaveOptions.layers = true; psdSaveOptions.spotColors = true; psdSaveOptions.typename = ""; doc.saveAs(fileSpec, psdSaveOptions); } var docs=app.documents; if ( docs.length> 0) { for (var i=docs.length-1;i>=0;i--){ var fname = docs[i].fullName.toString().split(".")[0]; saveAsPSD(docs[i],fname); docs[i].close(SaveOptions.DONOTSAVECHANGES); } } 最後はJPGを保存しないで閉じます。

layersets
質問者

お礼

心のそこから、本当に感謝しております。 まさしく実行したかったことです。 イメージプロセッサでうまくいきませんでしたので。 もうひとつだけ、同じく仕事で使いたいスクリプトがございまして、 質問させていただこうと思っております。 もしよろしければ、そちらの質問もごらんいただけると助かります。 このたびは、ご回答いただきまして本当にありがとうございました。

その他の回答 (2)

  • shut0325
  • ベストアンサー率40% (490/1207)
回答No.2

No.1です。 JavaScriptではあまり記述しませんが、VBSならば、似たようなことは結構やっています。 その上での回答だったんですが。 各フォルダ(元画像データがあったフォルダ)に保存しますよ。 ・変換したい画像があるフォルダをひとつのフォルダにまとめておく (例:A/BフォルダをMainフォルダに入れる) ・バッチのところで アクション:前回の回答の要領で作ったアクションを指定。 ソース:フォルダ→Mainを指定。 サブフォルダをすべて含めるにチェック。ほかは状況で。 実行後:保存して閉じる:別名で保存を省略にチェック。 これで、OKなはずです。 さらにこの動作自体をアクションに登録すればワンキーで処理できるので、さらに楽です。 今後のために・・・アクションをスクリプトから実行できますし、逆にスクリプトをアクションで実行できますので、その辺をうまく活用するといろいろできると思います。

layersets
質問者

お礼

ご回答ありがとうございました。勉強になりました。

  • shut0325
  • ベストアンサー率40% (490/1207)
回答No.1

あくまでその処理を効率的に行いたいという前提(=スクリプトの学習目的ではない)で回答します。 もっとも簡単なのは、昔からある方法ですが、アクションを作ってバッチ処理(「ファイル」→「自動処理」→「バッチ」)するとご希望の処理がいとも簡単にできます。 アクション作成手順は該当のファイルを開いた状態で、アクション記録開始します。 1.別名で保存をし、その際にPSD形式にして、保存先をAフォルダにする。 ※ファイル名は触らないでください。 2.閉じる これで記録を停止します。 これだけです。

layersets
質問者

補足

アクションですと、別名保存で保存先をAにすると、 他のフォルダのデータも全部Aに保存されますよね。 Aフォルダの中の1.jpg、2.jpgはAフォルダに1.psd、2.psdで、 Bフォルダの中の1.jpg、2.jpgはBフォルダに1.psd、2.psdと 保存し、かつ、そのあと閉じたいと思っています。 たしかにスクリプトの学習目的ではなく、効率的に行いたいだけなのですが、 私の言葉が足りなかったために、誤解させてしまったようです。 この処理はアクションでは不可能と思います。 なので、スクリプトという題名で投稿させていただいております。

関連するQ&A

専門家に質問してみよう