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)

       
Powered by Google App Engine

このブログ記事について

このページは、tckzが2008年5月23日 00:15に書いたブログ記事です。

ひとつ前のブログ記事は「jscriptで utf8なファイル出力」です。

次のブログ記事は「マクロでOutlookの予定表を iCalendar形式 (ics)で出力する」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 5.04