『シート内のグラフを全て画像として保存』(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
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.