[[20250409180329]] 『シート内のグラフを全て画像として保存』(chart) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『シート内のグラフを全て画像として保存』(chart)

VBAのコードについて教えていただきたいです。

指定したexcelファイルのシート内のグラフを全てjpgファイルにするコードを作成しています。
以下のコードを実行すると、グラフの数だけjpgファイルが生成されるのですが、一部のjpgファイルが破損してしまっています。
どうも、対象のシートを開いた時に画面外にあるグラフが保存に失敗するようなのですが、これを回避できないでしょうか。

Sub ChartToJPG()
Dim folderPath As String

    Dim filePath As String
    Dim sheetName As String
    Dim ws As Worksheet
    Dim ch As ChartObject
    Dim i As Long

    ' A1セルにフォルダのパスを入力
    folderPath = Range("A1").Value

    ' A2セルにExcelのパスを入力
    filePath = Range("A2").Value

    ' A3セルにシート名を入力
    sheetName = Range("A3").Value

    ' Excelファイルを開く
    Workbooks.Open filePath

    ' シートを取得
    Set ws = Workbooks(Workbooks.Count).Sheets(sheetName)

    ' グラフを保存
    i = 1
    For Each ch In ws.ChartObjects
        ch.Chart.Export folderPath & "\" & "グラフ" & i & ".jpg"
        i = i + 1
    Next ch

    ' Excelファイルを閉じる
    Workbooks(Workbooks.Count).Close False
End Sub

< 使用 Excel:Excel2019、使用 OS:Windows11 >


 exportの前に
 ch.activate
 を実行してみてください
(マナ) 2025/04/09(水) 19:02:58

解決しました! ありがとうございます。
(chart) 2025/04/09(水) 19:16:07

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.