選択範囲をJPEGで保存する : Excel(エクセル)

Excel Tipsメニューに戻る

スポンサーリンク






Excel VBAで選択範囲をJPEG形式で保存するには下記の流れになります。

1)ファイル保存ダイアログを表示し、保存ファイル名を設定します。

2)選択範囲を画像形式でコピー
  これは、[Shift]キー+編集メニューの「図のコピー」と同じです。

3)画像を一時貼り付ける為、埋め込みグラフオブジェクトを作成します。

4)埋め込みグラフに画像を貼り付けます。

5)JPG形式でファイルに保存します。

6)埋め込みグラフを削除します。


別の画像形式で保存するには、 Exportメソッドのfilternameを変更します。
例えば、GIF形式の場合は  filtername:="GIF" とします。

作成Excel画面

「選択範囲をJPG保存」ボタンで、選択しているB7:D13の範囲をJPEG形式で保存します。
JPEG保存シート

保存したJPEGファイルをペイントで開きました。
選択範囲ピッタリでなく、少し余白があります。
ペイントでJPGファイルを表示

スポンサーリンク



Excel VBA実行コード

Option Explicit

'ファイル保存ダイアログ
Private Function GetSaveFileName() As String
    Dim sfile As String

    sfile = Application.GetSaveAsFilename(fileFilter:="JPGファイル (*.jpg), *.jpg")
    If sfile = "False" Then
        GetSaveFileName = ""
    Else
        GetSaveFileName = sfile
    End If
End Function

Private Sub CommandButton1_Click()
    Dim rg As Range
    Dim cht As Chart
    Dim fina As String
    
    '保存ファイル名を取得
    fina = GetSaveFileName
    
    If fina <> "" Then
        '選択範囲を取得
        Set rg = Selection
        '選択した範囲を画像形式でコピー
        rg.CopyPicture appearance:=xlScreen, Format:=xlPicture
        '画像貼り付け用の埋め込みグラフを作成
        Set cht = ActiveSheet.ChartObjects.Add(0, 0, rg.Width, rg.Height).Chart
        '埋め込みグラフに貼り付ける
        cht.Paste
        'JPEG形式で保存
        cht.Export Filename:=fina, filtername:="JPG"
        '埋め込みグラフを削除
        cht.Parent.Delete
    End If
End Sub

Excel Tipsメニューに戻る

スポンサーリンク






■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved