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