環境がoffice 2013となりますが、下記コードで出力できました。(問題点あり)
半分自分のメモ用として公開します。
Sub export_chart()
'保存ファイルのパス取得
sFolder = ActiveDocument.Path
'ページ数取得
page_cnt = Selection.Information(wdNumberOfPagesInDocument)
For i = 1 To ActiveDocument.InlineShapes.Count
With ActiveDocument.InlineShapes(i)
'MsgBox i & "の横幅:" & .Width
file_name = "graph_" & i & ".png"
If .HasChart Then
.Chart.Export _
fileName:=file_name, FilterName:="PNG"
End If
End With
Next i
End Sub
コードについて
保存ファイルパス取得やページ数取得については、特に利用していません。
ActiveDocument.InlineShapes.Count ですべてのグラフの数を取得できました。
あとは、Forでぶん回している単純なものです…
問題点
なんらかの原因で出力した画像ファイルがものすごく小さくなります。
原因詳細まで調べていないので、お分かりになる方いらっしゃいましたらコメントいただけると幸いです。
出力する画像サイズ(解像度?)を指定したいのですが、うまくできません。。。
問題点解決に向けてやってみたこと
表示サイズ(倍率)を変えたりしましたが、これはダメでした。
幅、サイズを変えてみましたが、グラフのバランス?が崩れてしまいダメでした。。。
今後分かりましたら、追記します。