-
Notifications
You must be signed in to change notification settings - Fork 0
/
ExportGraph.vba
57 lines (42 loc) · 1.9 KB
/
ExportGraph.vba
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
'-------------------------------------------------------------------------------
' 全シートのグラフを画像出力する
'-------------------------------------------------------------------------------
Sub ExportGraph()
' 宣言と初期化
Dim i As Integer
Dim SheetName As String
Dim SumSheetName As String
Dim iss As Boolean
' 警告メッセージボックスを非表示に設定
Application.DisplayAlerts = False
' 画像出力フォルダが存在しなければ作成する
SaveDir = ThisWorkbook.Path & "\\ExportGraph" & Format(Now, "yyyymmdd_hhmmss")
If Dir(SaveDir, vbDirectory) = "" Then
MkDir SaveDir
End If
'全シートのループ --------------------------------------
For i = 1 To Worksheets.Count
' シートを1つ取得
Set TargetSheet = Worksheets(i)
TargetSheet.Activate
SheetName = TargetSheet.Name
' シート名やA1セルに記載されている内容で処理分岐
If SheetName <> "" Then
'If TargetSheet.Range("A1").Value = "AAAAA" Then
'シート内の全グラフのループ
For j = 1 To TargetSheet.ChartObjects.Count
' グラフを1つ取得
Set chartObj = TargetSheet.ChartObjects(j)
Set Chart = chartObj.Chart
' ファイル出力
chartObj.Select
ActiveChart.Export (SaveDir & "\\" & SheetName & "-" & j & ".png")
Next j
End If
Next i ' -----------------------------------------------
'1番目のシートにカーソルを合わせる
Worksheets(1).Activate
' 警告メッセージボックスを表示に設定
Application.DisplayAlerts = True
End Sub
'-------------------------------------------------------------------------------