$Win32::OLE::Warn = 3; # die ( UGLY ) on errors... my $Excel = Win32::OLE->new('Excel.Application', 'Quit'); my $Book = $Excel->Workbooks->Open($FN); my $Sheet = $Book->Worksheets(1); # select worksheet number 1 $LastCol = $Sheet->UsedRange->Find({What=>"*", SearchDirection=>xlPrevious, SearchOrder=>xlByColumns})->{Column};