http://www.perlmonks.org?node_id=819198


in reply to Re: Adding pictures to Excel
in thread Adding pictures to Excel

In my experience, it's very rare to need to use the active cell for anything. But you're quite right, setting the active cell changes the import point. I, as Psmith would say, confused the unusual with the impossible. It's still ugly - I want my users to run my macros and end up back where they started. But I have Gargled extensively and found no way of putting a picture over a cell directly except by using the active cell. However, I have found an improvement on my previous code. Rather than the loops to work out the top and left of the target cell, the following works:
$nVPos = $rTarget->Top; $nHPos = $rTarget->Left;
And these can be refactored into the assignments so that the lines become something like:
$picCurrent->{Top} = $rTarget->{Top}; $picCurrent->{Left} = $rTarget->{Left};
Anchoring in this way means that inserting or deleting rows and columns moves the picture, so I think we now get the best of all worlds.

Thanks, all - I've learned something new about the tool that pays my bills!

John Davies