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


in reply to Using Win32::OLE and Excel - Tips and Tricks

Dear monks!

I think the following discovery might be useful for you:

I openend an Excel-workbook to extract some data, as instructed in the node above:

... my $Book = $Excel->Workbooks->Open($excelfile); my $Sheet = $Book->Worksheets("Sheet1"); ...
This worked with some files, but with one I repeatedly got an error-message that the operation could not be done due to some high load in Excel.

The resulting investigation showed that this special file contained very complex pivot-tables. As a result, opening it seems not to be finished when I tried to access the worksheet. Strange. Fortunately, this could be solved very easily with the following code:

... my $Book = $Excel->Workbooks->Open($excelfile); sleep(1); # give Excel time + to open the file my $Sheet = $Book->Worksheets("Sheet1"); ...

Hope this node helps you (and saves you some debugging-time) in case you encounter the same situation!

Rata