ActivePerlを御使用なら、出来ますよ。
例えば、こんな感じでしょう。
※マクロの知識は必須ですね。
# ----------------------------------------
use Win32::OLE;
use Win32::OLE::Const 'Microsoft Excel';
my $Excel = Win32::OLE->new("Excel.Application");
$Excel->{Visible} = 1;
my $Book = $Excel->Workbooks->Add;
my $Sheet = $Book->Worksheets(1);
my $Range = $Sheet->Range("A2:C7");
$Range->{Value} =
[['Delivered', 'En route', 'To be shipped'],
[504, 102, 86],
[670, 150, 174],
[891, 261, 201],
[1274, 471, 321],
[1563, 536, 241]];
my $Chart = $Excel->Charts->Add;
$Chart->{ChartType} = xlAreaStacked;
$Chart->SetSourceData({Source => $Range, PlotBy => xlColumns});
$Chart->{HasTitle} = 1;
$Chart->ChartTitle->{Text} = "Items delivered, en route and to be shipped";
# ----------------------------------------
その他、いろいろな物が起動できます。
ActivePerlは、無料で使用できます。
URLをあげておきますね。
インストール後に、画面左下「スタート」 ->
「プログラム」 からたどれるところにヘルプ用の
HTMLが入りますが、そこの、
「ActivePerl FAQ」-> 「Windows Specifics」->
「Using OLE with Perl」
にサンプルがあります。
お礼
ご親切にスクリプトまで掲載していただき ありがとうございます。 利用させていただきます。