• ベストアンサー

エクセル マクロ

いつもお世話になっております。 Aというフォルダにある写真を、挿入→図→ファイルから でシートに写真を10枚貼り付けました。 1枚目の写真のみを選択し、コピー、選択した写真をクリア→写真のあった場所に形式をJPEGとして貼り付け、それを繰り返して、10枚全部JPEGにするにはどんなマクロにしたらいいのでしょうか? 10枚の写真を1枚のJPEGではなく、1枚ごとのJPEGにしたいです。 よろしくお願いします。

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

  • ベストアンサー
  • yukapapa
  • ベストアンサー率60% (60/100)
回答No.2

#1です。 JPEGは圧縮する事でファイルサイズを抑えるフォーマットなのですが、一度圧縮されると戻せない性質(非可逆圧縮ファイル)です。 ExcelのJPEG変換は圧縮率が高めのようで、その作業は確実に画像の品質を劣化させると思います。 コピーしたブックでその作業を何度か繰り返し、コピー前のブックと見比べてみると一目瞭然です。 (何度も繰り返すとブロックノイズだらけになります) それでも良いって事なら、以下のようなマクロでアクティブシートに挿入した画像をJPEGに置き換えられます。 (検証 Excel2003) Sub Test() Dim sh As Shape, imgTop, imgLeft With ActiveSheet   For Each sh In .Shapes     If sh.Type = msoPicture Then       imgTop = sh.Top: imgLeft = sh.Left       sh.Copy: sh.Delete       .PasteSpecial Format:="図 (JPEG)"       Selection.Top = imgTop       Selection.Left = imgLeft     End If   Next sh End With End Sub

yamada_tarou
質問者

お礼

ありがとうございます。 だいぶ便利になりました。 JPEG、GIF、PNGと各形式で 試してみたのですが、やはりJPEGが使いやすかったです。

その他の回答 (1)

  • yukapapa
  • ベストアンサー率60% (60/100)
回答No.1

目的が理解出来ません。 ここの画像ファイルの保存形式を変換したいだけならばExcelを介して行う必要は無いと思いますけど、、、 各種のペイント系ソフトや画像表示ソフトで変換の機能を備えてたりしますよ。 例えば http://www8.plala.or.jp/kusutaku/iview/

yamada_tarou
質問者

補足

撮影した写真がエクセルに貼り付けてあります。 A4でプリントアウトするためにです。 枚数が100枚ほどあります。質問した作業を行うとエクセルのファイル容量を半分にできるから、質問した作業がしたいのです。

関連するQ&A