フォルダ内にあるscvファイルのデータをもとにグラフ化した図を保存する方法です。
グラフはpdfやpngで保存します。
参考:1ファイルのみの出力方法・エクセルグラフを図(png・jpeg等)として保存またはPDF保存する
目次
グラフ図の保存方法の流れ
はじめにフォルダ内のファイル名を取得します。
ファイル名取得方法:フォルダ内のファイル名を取得しシートに書き出す
シート「設定」のA列のcsvを開き、シート「データ」にcsvデータを読み込みます。
シート「グラフ1」の図をpdfまたはpngで保存します。
日本の統計が閲覧できる政府統計ポータルサイト「e-Stat」のデータを利用しました。
サンプルコード
以下はpdf保存の例です。
Sub sample1() Dim fPath As String: fPath = "F:\sample\" Dim dataPath As String: dataPath = "TEXT;" & fPath & "取込データ\" Dim csvName As String Dim i As Long Dim WSs As Worksheet: Set WSs = Worksheets("設定") Dim WSd As Worksheet: Set WSd = Worksheets("データ") Application.ScreenUpdating = False For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row csvName = WSs.Cells(i, 1) Dim fName As String: fName = WSs.Cells(i, 2) WSd.Range("A3").CurrentRegion.ClearContents With WSd.QueryTables.Add( _ Connection:=dataPath & csvName, _ Destination:=WSd.Range("A3")) .TextFileParseType = xlDelimited .TextFileCommaDelimiter = True .Refresh BackgroundQuery:=False .Delete End With WSd.Cells(1, 1).Value = fName With Charts(1) .ChartTitle.Text = fName .ExportAsFixedFormat Type:=xlTypePDF, Filename:=fPath & fName & ".pdf" End With Next i MsgBox "作成しました。", vbInformation Application.ScreenUpdating = True End Sub
11行目:A列の最終行まで繰り返し
pngで保存する場合は、28行目を変更します。
.Export Filename:=fPath & fName & ".png", filtername:="PNG"