use strict; use warnings; use Win32::OLE; my $fildir = "./"; opendir DIR, $fildir; my @files = grep { /.xls/ } readdir(DIR); closedir DIR; foreach my $files (@files) { chomp $files; my $Excel=Win32::OLE->new('Excel.Application'); $Excel->{Visible}=0; $Excel->{DisplayAlerts}=0; my $Book = $Excel->Workbooks->Open("C:\\Monks\\$files") or die "Can't open file"; my $sheet = $Book -> Worksheets(1); $sheet -> Range ('A:A') -> {NumberFormat} = "000"; my $nmlng = length $files; my $nwnam = substr ($files,0,($nmlng - 4)); $Book->SaveAs({Filename => "C:\\Monks\\$nwnam.csv", FileFormat => 6, #xlCSV, CreateBackup => 0}); unlink ($files); $Excel->Quit; }