Имя: Пароль:
1C
IT-новости
Переход на другой лист в Excel
0 Paul-Leon
 
23.03.10
14:17
Люди!!! Вот я написал:
Попытка
 ВходExcel = СоздатьОбъект("Excel.Application");
Исключение      
 Сообщить(ОписаниеОшибки(),"!");
 Возврат
КонецПопытки;

Попытка
 ВходExcel.Application.Workbooks.Open(НазваниеФайла);
Исключение
 ВходExcel.Quit();
 Предупреждение("Не удалось открыть файл "+НазваниеФайла);
 Возврат;
КонецПопытки;

АктивныйЛист = ВходExcel.ActiveSheet;

ТекАртикул = АктивныйЛист.Cells(11, 3).Value;

Ну и так далее, из Excel закачиваю данные. Но у меня смотрит только 1-й лист, а в файле (книге) Excel их может быть много, как перейти на 2-й, 3-й лист для скачивания оттуда? Помогите, пожалуйста. Заранее благодарен.
1 Жан Пердежон
 
23.03.10
15:19
справку в excel читать не пробовал?
2 sdaf
 
23.03.10
15:22
WorkSheets()
3 smaharbA
 
23.03.10
15:22
код переписывай весь
4 Жан Пердежон
 
23.03.10
15:25
Worksheets("Sheet1").Activate
Worksheets(1).Activate
Worksheets.Count
5 Boroda
 
23.03.10
15:32
Вот, когда то нашел в недрах Интернета. Пользуюсь постоянно...

   ВходЭксель = СоздатьОбъект("Excel.Application");
   ВходЭксель.DisplayAlerts = 0;
   ВходЭксель.Workbooks.Open(СокрЛП(ФормИмяФайлаДанных));    
   
   КолЛистов = ВходЭксель.Worksheets().Count;
   
   Сообщить("Заполнение документов...","i");
   ДокЗаявка = СоздатьОбъект("Документ.ЗаявкаПокупателя");
   Пд = СоздатьОбъект("Документ");

   Для СчЛ = 1 По КолЛистов Цикл
       
       Лист = ВходЭксель.Worksheets(СчЛ);    
       ИмяЛиста = СокрЛП(Лист.Name);
       //Сообщить("Имя листа   "+ИмяЛиста,"i");  
       //Если Найти("Анализ продаж",ИмяЛиста)=0 Тогда
       //    Сообщить("   пропускаем...");          Продолжить;
       //КонецЕсли;
       //
       Если КолЛистов = 1 Тогда
           Лист = ВходЭксель.ActiveSheet;
       Иначе
           Лист = ВходЭксель.Worksheets(ИмяЛиста);
       КонецЕсли;
       ВсегоСтрок = Лист.UsedRange.Rows.Count;
       
       
       
       Для Сч = 4 По ВсегоСтрок Цикл
6 smaharbA
 
23.03.10
15:34
пипец
7 smaharbA
 
23.03.10
15:45

ВходЭксель = СоздатьОбъект("Excel.Application");
Книги = ВходЭксель.WorkBooks;
ВходЭксель.DisplayAlerts = 0; //тут ещ нужна проверка на наличие книг
Книга=Книги.Open(СокрЛП(ФормИмяФайлаДанных));    
РабочиеЛисты=Книга.Worksheets();
Сообщить("Заполнение документов...","i");
ДокЗаявка = СоздатьОбъект("Документ.ЗаявкаПокупателя");
Пд = СоздатьОбъект("Документ");
Для СчЛ = 1 По РабочиеЛисты.Count Цикл
   Лист = РабочиеЛисты.Item(СчЛ);    
   ИмяЛиста = СокрЛП(Лист.Name);
   Диапазон = Лист.UsedRange;
   Строки = Диапазон.Rows;
   Колонки = Диапазон.Columns;
   Ячейки = Диапазон.Cells;
   Для Сч = 4 По Строки.Count Цикл
        Строка=Строки.Item(Сч);
        Для к=1 По Колонки.Count
            Ячейка=Ячейки.Item(Сч,К)
            Сообщить(Ячейка.Text);
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн