Photoshop CS2スクリプトでPNGファイルをWeb用に保存する方法

このQ&Aのポイント
  • Photoshop CS2のVBを使ったスクリプトで読み込んだPNGファイルをWeb用に保存する方法について教えてください。
  • VBを使用して「Web用に保存」機能を実装する方法について分かりません。
  • 現在、PNGファイルを読み込む部分までスクリプトを書いた状態ですが、次の手順が分かりません。
回答を見る
  • ベストアンサー

Photoshop CS2 Scripting 「Web用に保存」

Photoshop CS2のVBを使ったスクリプトで、読み込んだPNGファイルを、メニューの「Web用に保存」(PNG-24, 透明部分にチェック)を使ったと同様に書き込みたいのですが、この「Web用に保存」をどのようにVBで書くのかが分かりません。以下のスクリプトはPNGを読み込む部分まで書いたのですが、この後を教えてください。よろしくお願いします。 Sub test()  Dim appRef  Set appRef = CreateObject("Photoshop.Application")  Dim docRef  Set docRef = appRef.Open("D:\pict1.png")  ................... End Sub

  • zuntac
  • お礼率81% (307/377)

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

  • ベストアンサー
  • gyafun
  • ベストアンサー率88% (8/9)
回答No.1

次のようなコードでいけるかと思ったのですが、最後の「ExportDocument」でエラーになってしまいますね。もう、ひといきですね。 Sub test()  Dim appRef  Set appRef = CreateObject("Photoshop.Application")  Dim docRef  Set docRef = appRef.Open("D:\pict1.png")  Set ExportOptionsSaveForWeb _   = CreateObject("Photoshop.ExportOptionsSaveForWeb")  ExportOptionsSaveForWeb.Format = 13 ' psPNGSave  ExportOptionsSaveForWeb.Interlaced = False  ExportOptionsSaveForWeb.PNG8 = False ' PNG24  ExportOptionsSaveForWeb.Transparency = True  docRef.ExportDocument "D:\pict2", 2, ExportOptionsSaveForWeb End Sub

zuntac
質問者

お礼

回答、ありがとうございました。 試行錯誤して最後の行を、 docRef.Export "D:\pict2.png", 2, ExportOptionsSaveForWeb …としたら動きました。メソッド名「ExportDocument」が間違いで、正解は「Export」のようでした。結局、Adobeのドキュメントが間違っていたことが原因でした。(CS2だけじゃなくて、CS3のドキュメントも間違っている。)

関連するQ&A

  • Photoshop CS2でWEB用に保存すると色が変わる・・・でも

    MacのPhotoshop CS2でWEB用に保存しようとするとプレビューの時点でイラストの色が全体的にあせてしまいます。 でも、イラストをキャプチャーしてPhotoshopで開き余分なところを消してWEB用に保存しようとしたらプレビューでも保存後でも色はあざやかなままでした。 どうやったらキャプチャーを使わずに色があせないように保存ができるのでしょうか? この方法だと画面からはみ出すサイズだと全体がキャプチャーできないので困っています。 回答よろしくお願いします。

  • 名前を付けて保存のウィンドウが表に出ない

    VB6でエクセルを保存させると、動作は問題ないのですが、「名前をつけて保存」のウィンドウが他のプログラムの下に出てしまいます。他のプログラムをあらかじめ避けておかないと、ウィンドウにアクセスできません。どうしたらよいのでしょうか? Option Explicit Dim xlApp As Excel.Application Dim xlBok As Excel.Workbook Dim xlSht As Excel.Worksheet Private Sub Form_Load() Set xlApp = CreateObject("Excel.Application") Set xlBok = xlApp.Workbooks.Add Set xlSht = xlBok.Worksheets(1)   xlSht.Activate End Sub Private Sub EndBtn_Click() Dim xlFName As String On Error Resume Next '1 xlFName = xlApp.GetSaveAsFilename(fileFilter:="Excel (*.xls), *.xls") Call xlBok.SaveAs(xlFName) '2 Application.Dialogs(xlDialogSaveAs).Show Call xlApp.Quit Set xlSht = Nothing Set xlBok = Nothing Set xlApp = Nothing End End Sub 1の方法でも2の方法でも同じです。 なお、VBは全くの初心者です

  • webページのみのURLを取得したい

    Sub testa() Dim objIE Dim myStr Set objRE = CreateObject("VBScript.RegExp") For Each objIE In CreateObject("Shell.Application").Windows myStr = myStr & vbCrLf & objIE.LocationURL Next MsgBox myStr End Sub を実行するとフォルダのパスまで取得されてしまいますが WEBページのみ取得するにはどうすればいいですか? 正規表現で”「HTML」で終わる”と言う条件を付けくわえようとしましたが htmlで終わらないサイトもあるのでダメでした。

  • NewはCreateObjectと同じ意味?

    Sub test01() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True End Sub Sub test02() Dim objIE As New InternetExplorer objIE.Visible = True End Sub この二つのコードを比較した場合、 Dim objIE As New InternetExplorer で宣言すれば、 Set objIE = CreateObject("InternetExplorer.application") がなくても、 objIE.Visible = True をしてみるとブラウザが立ち上がっているのですが、 これは NewはCreateObjectと同じ意味という事でしょうか?

  • 複数のタブを開きたい IE

    IE9を使っています。 画像のようにタブを二つ開くにはどうすればいいでしょうか? Sub test() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" Set objIE = Nothing End Sub だと一つのタブしか開けません。 Sub test() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" objIE.Navigate "http://www.yahoo.co.jp/" Set objIE = Nothing End Sub にしても Sub test() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" objIE.Navigate2 "http://www.yahoo.co.jp/" Set objIE = Nothing End Sub にしても1つのタブしか開けないです。 ご回答よろしくお願いします。

  • Photoshop CS3で「Webおよびデバイス用に保存」できない

    先ほど質問した内容に修正を入れたく、再度投稿します。Mac OS X 10.5.4のLeopardを使っています。Photoshop CS3で「Webおよびデバイス用に保存」を選択すると、「コマンド書き出しを完了できません。プログラムエラーです」と出てしまい、Web用保存ができません。jepg、gifなど色々なファイル形式で試してみましたが、みんなダメです。何か設定が悪いのでしょうか。 回答よろしくお願いします。

  • レイヤーを結合せず、photoshopでpng形式で画像を保存したい

    photoshopでpng形式で画像を保存したいのですが、レイヤーを結合しないで保存する方法はありますでしょうか?別名で保存または、web用に保存だと結合されてしまいます。 photoshopのバージョンはPhotoshop CS3です。 お手数ですが、よろしくお願いいたします。

  • Photoshopでのjpg保存時のファイルサイズ

    Photoshop CS4 Windows XP Photoshopでjpg保存するとき、 『別名で保存』と『Webおよびデバイス用に保存』とでファイルサイズが全然違うのは何故なんでしょうか? pngやgifだと双方ほぼ変わらないのにjpgだと、 “別名で保存”最高画質で保存すると約25kb程、 “Webおよびデバイス用に保存”最高画質で保存すると7kb程になります。 多量のレイヤーを、スクリプトの『レイヤーをファイルへ書き出し』で一括保存する機会が多いんですが、 こちらではファイルサイズが大きくなってしまうので一つ一つWebの方から保存しています。 何か設定する方法等あるんでしょうか?

  • Photoshop CS3

    Photoshop CS3でWEBデザインの素材を作っているのですが、その素材を保存する際にWEB用に保存しなくては、いけないのですがどの用に保存したらよいのでしょうか。私は、別名で保存~フォーマットの中にWEB用に保存の項目が出てくるとばかり思っていたのですが、その項目がありません。どなたかお分かりの方は、いらっしゃいませんか? そもそもどうして、WEB用に保存しなくては、いけないのでしょうか? JPGでは、だめですか?

    • ベストアンサー
    • Mac
  • IEではなくファイアフォックスを指定することは

    VBAでブラウザを開く場合、 IEではなくファイアフォックスを指定することは可能ですか? 既定のブラウザはIEにしています。 Sub test1() Dim objIE As Object Set objIE = CreateObject("InternetExplorer.Application") objIE.Navigate "http://www.ocn.ne.jp/" objIE.Visible = True Set objIE = Nothing End Sub の Set objIE = CreateObject("InternetExplorer.Application") の部分を Set objIE = CreateObject("firefox.exe") に変えてみたら、 【ActiveX コンポーネントはオブジェクトを作成できません。(Error 429)】 になりました。