Hi

I already have a xlsx file which contains a pie chart with 3 legends. The
requirement is that I have to change the colors of those 3 legends.

I can create another excel file which contains a macro & can run the macro
for the xlsx where I want to change the pie chart color . This is working
fine.
But, now the requirent is that there should should not be any extra excel
file in addition to the xlsx where the pie chart is. So, I have to change
the colors from my perl script only.

So, I have written the following code .

use Win32::OLE::Variant ;
use Win32::OLE qw(in with) ;
use Win32::OLE::Const 'Microsoft Excel' ;

my $file = "c:/sample.xlsx" ;

my $Excel =
Win32::OLE->GetActiveObject('Excel.Application')||Win32::OLE->new('Excel.Application','Quit');
my $Book = $Excel->Workbooks->Open( "$file") ;
my $Sheet = $Book->Worksheets(1) ;
my $chart = $Sheet->ChartObjects("Results");
$chart->Activate() ;
$chart->SeriesCollection(1)->Points(1)->Interior->{ColorIndex} = 4 ;
 $chart->SeriesCollection(1)->Points(2)->Interior->{ColorIndex} = 3 ;
 $chart->SeriesCollection(1)->Points(3)->Interior->{ColorIndex} = 6 ;
$Book->Save ;
$Book->Close ;


But it's not working, with error like *Win32::OLE(0.1709) error 0x80020003:
"Member not found" in METHOD/PROPERTYGET "" at c:\sample.xlsx *
**
Can anybody help me please ?

Regards,
Rajesh

Reply via email to