- ベストアンサー
エクセル マクロ
いつもお世話になっております。 Aというフォルダにある写真を、挿入→図→ファイルから でシートに写真を10枚貼り付けました。 1枚目の写真のみを選択し、コピー、選択した写真をクリア→写真のあった場所に形式をJPEGとして貼り付け、それを繰り返して、10枚全部JPEGにするにはどんなマクロにしたらいいのでしょうか? 10枚の写真を1枚のJPEGではなく、1枚ごとのJPEGにしたいです。 よろしくお願いします。
- みんなの回答 (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
その他の回答 (1)
- yukapapa
- ベストアンサー率60% (60/100)
目的が理解出来ません。 ここの画像ファイルの保存形式を変換したいだけならばExcelを介して行う必要は無いと思いますけど、、、 各種のペイント系ソフトや画像表示ソフトで変換の機能を備えてたりしますよ。 例えば http://www8.plala.or.jp/kusutaku/iview/
補足
撮影した写真がエクセルに貼り付けてあります。 A4でプリントアウトするためにです。 枚数が100枚ほどあります。質問した作業を行うとエクセルのファイル容量を半分にできるから、質問した作業がしたいのです。
お礼
ありがとうございます。 だいぶ便利になりました。 JPEG、GIF、PNGと各形式で 試してみたのですが、やはりJPEGが使いやすかったです。