in reply to Re: How to convert the VBA code to Perl code? in thread How to convert the VBA code to Perl code?
Hi, Mickey:
It seems there is no tool for automatically coversion from VBA to Perl. So I begin translating from VBA to Perl step by step. Here is the problem code.
$Range = $Sheet->Range('c4:f64');
$Chart = $Excel->Charts->Add;
$Chart->{ChartType}=xlStockOHLC;
$Chart->SetSourceData ({Source => $Range, PlotBy => xlColumns});
$Chart->SeriesCollection(1)->{XValues} = "=Sheet1!R4C2:R64C2";
$Chart->SeriesCollection(1)->{Name} = "open";
$Chart->SeriesCollection(2)->{XValues} = "=Sheet1!R4C2:R64C2";
$Chart->SeriesCollection(2)->{Name} = "high";
$Chart->SeriesCollection(3)->{XValues} = "=Sheet1!R4C2:R64C2";
$Chart->SeriesCollection(3)->{Name} = "low";
$Chart->SeriesCollection(4)->{XValues} = "=Sheet1!R4C2:R64C2";
$Chart->SeriesCollection(4)->{Name} = "close";
$Chart->Location ({Where => xlLocationAsNewSheet});
$Chart->{HasLegend} = True;
$Chart->Legend->{Position} = xlTop;
$Chart->Location ({Where => xlLocationAsObject, Name => "Sheet1"});
Actually, it works well when compiling. But when execution, it bursts out a problem and gives me the following information: Win32::OLE(0.1707) error 0x80020009: "" in propertyput "ChargeType" at test2.pl line16. (Here, it is the 3rd row.)
When I change the type of "xlStockOHLC" to "xlLine" or "xl3DColumn", it works perfectly. But I need to create a stock graph. So do you know what should I do to avert the problem and generate the "xlStockOHLC" graph? Thanks for help!
|