Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Win32::OLE - Excel chart location

by mickeyn (Priest)
on Oct 08, 2007 at 12:03 UTC ( #643443=perlquestion: print w/ replies, xml ) Need Help??
mickeyn has asked for the wisdom of the Perl Monks concerning the following question:

Hello fellow monks, I use Win32::OLE to create excel file.

I create a chart object within my sheet using:

$chart->Location(xlLocationAsObject, "sheet1");
works!

My question - how can I place the chart in a specific location within the sheet?
(x,y position or cell area are both good enough options).

Thanks,
Mickey

Comment on Win32::OLE - Excel chart location
Download Code
Re: Win32::OLE - Excel chart location
by technojosh (Priest) on Oct 08, 2007 at 14:39 UTC
    I haven't seen your code, but assuming you have a correct worksheet object, try something like:

    $yourWorksheetObject->Range("a1")->{Value}=$chart;

    (The "a1" range can be whatever you need, just there for example)

Re: Win32::OLE - Excel chart location
by bmann (Priest) on Oct 08, 2007 at 20:16 UTC
    You can't use a cell to position a chart. You can assign an (x, y) position.

    use warnings; use strict; use Win32::OLE qw(in); use Win32::OLE::Const 'Microsoft Excel'; use Win32::OLE::Const 'Microsoft Office .* Object Library'; my $excel = Win32::OLE->new('Excel.Application'); $excel->{Visible} = 1; my $xls = $excel->Workbooks->Add; my $chart = $excel->Charts->Add; $chart->Location( xlLocationAsObject, 'Sheet1' ); # find the chart (it can only be moved via 'shape') <- this can be the + hard part! # if it is the first chart, it will be named 'Chart 1'. # If there has already been n charts on that sheet it'll be named # 'Chart n+1' my $shape; foreach my $s ( in $excel->ActiveSheet->Shapes() ) { $shape = $s; last if $shape->type == msoChart; # msoChart == 3 } # move the chart to (0, 0) $shape->{Left} = 0; $shape->{Top} = 0;
    You can also move a chart relative amounts with IncrementLeft and IncrementTop.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://643443]
Approved by Corion
Front-paged by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (6)
As of 2014-12-19 23:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (94 votes), past polls