use Win32::OLE; use Win32::OLE::Const ('Microsoft Excel'); my $ex = Win32::OLE->new( 'Excel.Application', 'Quit' ); my $wkbk = $ex->Workbooks->Open('C:\test.xlsm') || die "could not open:$!"; $ex->Run('test'); $ex->{Visible} = 1; $wkbk->SaveAs('C:\\SusTest2.xlsm') || die " could not save: $! " ; if(-e 'C:\SusTest2.xlsm'){ print "file exists"; } else{ print "file not created"; }