I think I'm right to say your trying to read through what VB would call a collection. If this is the case you should use the Win32::OLE::Enum module. This allows you to extract a collection of objects and then iterate through them.
# Open excel.
my $excel = Win32::OLE->new("Excel.Application", 'Quit');
# Create a workbook.
my $excelBook = $excel->Workbooks->Add;
# Enumerate the sheets in the workbook (sheet1,sheet2,sheet3 by defaul
my $sheets = Win32::OLE::Enum->new($excelBook->Worksheets());
#Iterate the sheets using the All() function.
foreach my $sheet ($sheets->All())
print $sheet->name() . "\n";
No error handling I know but it gives you an idea and I've
run this on NT4.0 with Office 98.