Имя: Пароль:
1C
1C 7.7
v7: Обход листов Excel в 1с 77
,
0 Aldnepr
 
04.08.21
11:53
Требуется с книги Екселя, начиная со 2 листа по 6 вытянуть данные в ТЗ. У меня тянет  как раз только с первого листа (который мне и не нужен), но делает пять проходов как положено (по к-ву правильно выходит). В итоге получаю таблицу с повторяющимися данными. Листам заданы имена, но это же не должно влиять в случае перебора по количеству, не по именам?

Excel = СоздатьОбъект("Excel.Application");
    Книга=Excel.Workbooks.Open(Сокрлп(ИмяФайла));
    КоличествоЛистов=Книга.Worksheets.Count;
  
  Для НомерЛиста=2 По КоличествоЛистов Цикл  
       Лист = Книга.Worksheets(НомерЛиста);
     Строк = Excel.Cells.CurrentRegion.Rows.Count;
    Для ТекСтрока = 2 По Строк Цикл              
        Если ОбработатьСтроку(ТЗ,Тов, ТекСтрока, Excel)= 0 Тогда
            Возврат;
        КонецЕсли;
    КонецЦикла;
КонецЦикла;
1 ChMikle
 
04.08.21
12:00
Книга = Эксель.WorkBooks.Open(ПутьКФайлу);
//ПутьКФайлу - полный путь к файлу книги Excel.

//Выбор листа книги для работы с ним:
Лист = Книга.WorkSheets(НомерЛиста);
//или
Лист = Книга.WorkSheets(ИмяЛиста);
// где НомерЛиста - номер листа в книге, ИмяЛиста - имя листа в книге.

// Получение значения ячейки листа:
Значение = Лист.Cells(НомерСтроки, НомерКолонки).Value;
2 ChMikle
 
04.08.21
12:01
В теории отсюда и далее вместо
Excel использовать Лист
3 Aldnepr
 
04.08.21
12:09
(2) Да, все верно! Я не указал с какого листа брать ячейки, вот и брало  с первого. Excel заменил на Лист и все поехало. Спасибо!
4 ChMikle
 
04.08.21
12:27
всегда пожалуйста