• ベストアンサー

エクセル。この範囲jpgで保存できませんか?

添付のような指定した範囲をjpgなどの画像ファイルで保存できないのでしょうか? 宜しく願います。

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

  • ベストアンサー
  • sutorama
  • ベストアンサー率35% (1689/4748)
回答No.1

右クリックして「コピー」で画像保存されるので、画像ソフトを開いて「貼り付け」ればOK

その他の回答 (2)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.3

http://okwave.jp/qa/q5124395.html のNo.5にKenKenSPさんのコードがありますが、これはセルにも適用可能です。 セル範囲に対応してSub Sampleを次の様に改造すると良いでしょう。 なお、C:ドライブ直下に書き出すのは時代に合わない(エラーになる)ので、デスクトップに書き出しています。 また、拡張子で判断して、PNGやTIFでも書き出せるコードになっています。 もともとC/C++から使用するWindows APIをVBAで使用するためのお約束で、ごちゃごちゃしておりますが、本質問の回答No.2のアドインでやっている事も同等と思います。 Sub Sample() Dim hBmp As OLE_HANDLE ' GDI+ を初期化する If GDIplus_Initialize() = False Then MsgBox "GDI+ を初期化できません", vbCritical Exit Sub End If ' 選択範囲をクリップボードにコピーする Selection.CopyPicture xlScreen, xlBitmap ' Bitmap のハンドル(メモリ上のアドレスみたいなもの)を取得 hBmp = pvGetHBitmapFromClipboard() ' 保存(JPEG でクオリティー90の場合) If SaveImageToFile(hBmp, GetDesktopPath & "\sample.jpg", "jpg", 90) = False Then MsgBox "保存に失敗", vbCritical Else MsgBox "保存に成功", vbInformation End If ' GDI+ を終了させる(必ず呼び出すこと) Call Gdiplus_Shutdown End Sub Private Function GetDesktopPath() As String Dim wScriptHost As Object, strInitDir As String Set wScriptHost = CreateObject("Wscript.Shell") GetDesktopPath = wScriptHost.SpecialFolders("Desktop") Set wScriptHost = Nothing End Function

noname#235638
noname#235638
回答No.2

http://excel.syogyoumujou.com/freesoft/without_picture.html これなんかでどうでしょう?