my $pfad="Pfad\\"; foreach my $Tmp ( sort keys %Files ) { my $tmpfile="${pfad}tmp-File.xls"; my $outputfile="${pfad}${Tmp}-File.xls"; my $workbook1 = Spreadsheet::WriteExcel->new( $tmpfile ) || die "Error opening "; print STDERR "-Generate $outputfile File...\n"; $workbook1->close(); unlink( $outputfile ) if ( -e $outputfile ); my $Excel = Win32::OLE->GetActiveObject('Excel.Application')|| Win32::OLE->new( 'Excel.Application', 'Quit' ); my $workbook2 = $Excel->Workbooks->Open( $tmpfile ); $workbook2->SaveAs($outputfile ,xlExcel9795); # ^ist das so richtig? $workbook2->Close; unlink( $tmpfile ) or print STRDERR "error unlink $tmpfile\n"; print STDERR ".... finished\n"; }