#!/usr/local/bin/perl use Win32::OLE qw(in with); use Win32::OLE::Const 'Microsoft Excel'; use Win32::OLE::Variant; use Win32::OLE::Enum; use Win32::OLE::NLS qw(:LOCALE :DATE); use Carp::Heavy; use Spreadsheet::WriteExcel; use Spreadsheet::ParseExcel::Simple; $Win32::OLE::Warn = 3; my $Excel = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit'); $count = $Excel->Workbooks->Count; print "$count\n"; for my $n (1..$count){ my $name = $Excel->Workbooks($n)->Name; my $path = $Excel->Workbooks($n)->Path; my $fn = $path."\\".$name; print "$n $fn\n"; my $state = $Excel->Workbooks($n)->Close(1, $fn, 0); print "$state\n"; } $Excel->Quit();