Excelで Chartオブジェクトだけ画像ファイルに保存

2008/05/23

Categories: excel

xlsシート内にあるグラフだけを画像ファイルに保存したい。
※グラフシートでなく。

リファレンスを調べるとChartオブジェクトにSaveAsメソッドがあるようなので、html形式で保存したらいけそうだなーと思ったが、やってみるとエラーになってしまいお手上げ(詳細割愛)。

どうしたものかな、とgoogle先生で検索を繰り返したら、またもや2chのスレッドに答えそのものを発見。
あなどれんな~。

Exportメソッドというものがあるらしい。
形式も指定できるが、省略してもファイル名の拡張子から適宜判断してくれる。便利。
gif/png/jpgはいけた。

■export_chart.js

var app = new ActiveXObject("Excel.Application");

try {

var book = app.Workbooks.Open( xlsブックのフルパス, true );
var sh = book.Sheets( 1 );

var co = sh.ChartObjects( 1 );
var ch = co.Chart;
ch.Export( 出力画像ファイルのフルパス );

} catch( ex ) {
throw ex;
} finally {
app.Quit();
}

■試した環境
Excel 2003 SP3 + XP Prof SP2(ja)
Excel 2007 SP1 + Vista Ultimate SP1 x64(ja)

>> Home