Ну как вариает можно метод получения листов в файле ёкселя изобразить вот так:
X++:
container getExcelSheets()
{
COM sheets, sheet;
COM adoxCatalog = new COM('ADOX.Catalog');
int seetsCount, i;
str sheetName;
;
if(sheetsExcel)
{
return sheetsExcel;
}
try
{
adoxCatalog.ActiveConnection(this.getConnection());
sheets = adoxCatalog.Tables();
seetsCount = sheets.count();
for(i=0; i < seetsCount ; i++)
{
sheet = sheets.item(i);
sheetName = conpeek(str2con_ru(sheet.name(), "$"),1);
if(!confind(sheetsExcel,sheetName))
{
sheetsExcel += sheetName;
}
}
}
catch (Exception::Error)
{
error("Ошибка получения списка листов");
}
return sheetsExcel;
}
вроде работает и с наличием именованных диапазонов.