http://qs321.pair.com?node_id=819178

merrymonk has asked for the wisdom of the Perl Monks concerning the following question:

I found a file of Perl one liners for writing to Excel files.
To add images it gives the following Perl
#___ INSERT PICTURE $sheet -> Pictures -> Insert("picture_name"); # Insert +in upper-left corner $excel -> ActiveSheet -> Pictures -> Insert("picture_name"); # Insert +in active cell #___ ACTIVATE CELL $sheet -> Range("A2") -> Activate;
I tried to use this to add pictures as specific cells. The Perl code is below.
In this code I attempted to add pictures at two specific cells, A1 and F10.
I hoped that the top left hand corner of the picture would be in the defined cell. Two pictures were added but
unfortunately they were added on top of each other and the cell was not either of the ones I specified.
Can any Monk enlighten me as to what changes I should make to get the pictures where I want them?
use OLE; use Win32::OLE::Const "Microsoft Excel"; use strict "vars"; my ($excel, $workbook, $sheet); my ($cell_id, $image_file_full); #___ DEFINE EXCEL $excel = CreateObject OLE "Excel.Application"; #___ MAKE EXCEL VISIBLE $excel -> {Visible} = 1; #___ ADD NEW WORKBOOK $workbook = $excel -> Workbooks -> Add; $sheet = $workbook -> Worksheets("Sheet1"); $sheet -> Activate; $cell_id = "A1"; $sheet -> Range($cell_id) -> Activate; $image_file_full = "full directory path and image name here”; $excel -> ActiveSheet -> Pictures -> Insert($image_file_full); # Inser +t in active cell $cell_id = "F10"; $excel -> ActiveSheet -> Pictures -> Insert($image_file_full);