Without seeing the relevant parts of your source code, it's hard to give concrete advice.
Have you loaded Win32::OLE as the error message suggests?
use Win32::OLE;
Also consider looking at the code in other replies here, like 781872, for getting a minimal example of what should work. Especially Using Win32::OLE and Excel - Tips and Tricks. | [reply] [d/l] |
Since this is line 2, I can't imagine well organised code including strictures and Win32::OLE in one line. I would bet that Corion has identified a part of your problem. Another, though, is that you are using GetActiveObject. Unless you have a really strong reason to do this (I can imagine a very few), always create your own instance of Excel. I outlined some reasons in Re: Win32-OLE: What is the canonical way to open file for editing?, but there are plenty more and precious few good reasons to take control of an instance of Excel opened for some other purpose.
It's a good idea to create a SSCCE (https://web.archive.org/web/20160926072757/http://sscce.org) to show a problem and a solution. For eight examples, have a look at RFC Tutorial - Deleting Excel Rows, Columns and Sheets, where I show lots of code, each example being complete and opening an instance of Excel. Most of these open the Excel instance and book in the same way, but there are some minor variations. There may be other things there that you could usefully copy.
Regards,
John Davies
Update: you might also like to look at the thread Inserting copied rows at another position in Excel, which contains SSCCEs.
| [reply] |