I want to use Perl to generate a Stock Chart: Open, High, low, Close in Microsoft Excel with Win32::OLE Module. However, all the other kinds of graphs I can get it out successfully except Stock Chart! Gosh, What Happened? Could someone help me on it? Thanks! These are the codes I used.

$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 "ChartType" at test2.pl line16. (Here, it is the 3rd row.) When I change the type of "xlStockOHLC" to "xlLine" or "xl3DColumn", it works perfectly.

In reply to How to Generate a Stock Chart with Perl in MS Excel? by morfecourier

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.