http://qs321.pair.com?node_id=647950


in reply to Excel and Win32::OLE chart problems

I'm not a Win32::OLE user, but that loose curly bracket looks suspect:

$chart->ChartType} = xl3DColumnClustered;
I tried to throw your code into a file like this:
use strict; use warnings; use Win32::OLE; my ($vtfalse,$sheet); # Create the chart # my $chart = $sheet->ChartObjects->Add(1, 175, 457, 300); $chart->ChartType = 'xl3DColumnClustered'; $chart->Chart->ChartWizard({Source =>$sheet->Range("D5:D12")}); $chart->Chart->SeriesCollection(1)->{Values}=$sheet->Range("D5:D12"); $chart->Chart->SeriesCollection(1)->{XValues}=$sheet->Range("B5:B12"); $chart->Chart->SeriesCollection(1)->{Values}=$sheet->Range("D5:D12"); $chart->Chart->SeriesCollection(1)->{Name}=$sheet->Range("B5:B12"); $chart->Chart->{HasLegend} = $vtfalse; $chart->Chart->{HasDataTable} = $vtfalse; $chart->Chart->SeriesCollection(1)->{HasDataLabels} = 1;
but I still get errors.
Can't call method "ChartObjects" on an undefined value at K:\Desktop\3 +d-chart.pl line 7.
Guess I'm missing something else. Can you post some minimal complete code that illustrates your problem?