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


in reply to Re: win32::ole excel savechanges
in thread win32::ole excel savechanges

Dear monks!

I currently had a similar problem (reading data from ~100 Excel-sheets), and of course I didn't want to manually click a dialog after each of them. Excel 2013 successfully detected that I was only reading them, however when migrating to Excel 2016, the annoying dialog appeared. Using the solution above prevents that dialog in Excel2016 :-)

Below is my code for your reference

Hope this helps! Rata

my $Excel = Win32::OLE->new('Excel.Application', 'Quit'); my $workbook = $Excel->Workbooks->OpenXML("someNameHere"); # + open file # some code here, only _reading_ from that workbook $Excel->{DisplayAlerts} = 0; # 1. not required for Exce +l 2013 $workbook->{Saved} = 1; # 2. not required for Exce +l 2013 $workbook->close(0); $Excel->Workbooks->Close();