|   |   | 
| 
 | Ошибка при выборе листа эксель | ☑ | ||
|---|---|---|---|---|
| 0
    
        falselight 21.03.19✎ 10:34 | 
        Использую обработку для загрузки данных с эксель листов.
 На форме появилось дерево, файла эксель и его листов. Выбираю лист. Жму прочитать, в тз появляются данные. Но если выбрать другой лист и нажать прочитать, то, выходит ошибка {ВнешняяОбработка.ЗагрузкаИзExcel_1_2.Форма.Форма.Форма(319)}: Ошибка при вызове метода контекста (Sheets) Excel.Sheets(ЭлементыФормы.ДеревоЛистов.ТекущаяСтрока.Листы).select(); по причине: Произошла исключительная ситуация (0x800a03ec) То есть как её исключить? Что бы перечитывался другой выбранный лист? | |||
| 1
    
        falselight 21.03.19✎ 10:39 | 
        Вижу ошибку, Excel - не определена в этом случае. Наверное в этом дело.     | |||
| 2
    
        falselight 21.03.19✎ 10:44 | 
        Все же ошибка идет, не подскажете почему?
 {ВнешняяОбработка.ЗагрузкаИзExcel_1_2.Форма.Форма.Форма(329)}: Ошибка при вызове метода контекста (Sheets) Excel.Sheets(ЭлементыФормы.ДеревоЛистов.ТекущаяСтрока.Листы).select(); по причине: Произошла исключительная ситуация (0x800a03ec) | |||
| 3
    
        Дмитрий 21.03.19✎ 10:44 | 
        ЭлементыФормы.ДеревоЛистов.ТекущаяСтрока.Листы чему равно?     | |||
| 4
    
        falselight 21.03.19✎ 10:51 | 
        Почему вот это бывает пустое?????
 При первой загрузке там COMОбъект (3) Названию выбранного листа. | |||
| 5
    
        falselight 21.03.19✎ 10:51 | 
        (4+) Excel.Sheets     | |||
| 6
    
        falselight 21.03.19✎ 10:57 | 
        Точку останова ставлю, вроде как обновляются данные
 без точки останова ошибка, как будто COMОбъект не успевает считаться, как тут быть? | |||
| 7
    
        falselight 21.03.19✎ 10:58 | 
        как с этим быть? Что то не понятно!!!!     | |||
| 8
    
        falselight 21.03.19✎ 11:06 | 
        Почему не видна функция в 1с ТекущееВремя() ?     | |||
| 9
    
        falselight 21.03.19✎ 11:08 | 
        Хотел вот такую функцию использовать, паузу. но она не работает.
 Процедура Пауза(Время) чЧас=0; чМин=0; чСек=0; ТекущееВремя(чЧас,чМин,чСек); чТекВремя = чЧас*3600+чМин*60+чСек; чВремяЗавершения = чТекВремя+Время; Пока чТекВремя<чВремяЗавершения Цикл ТекущееВремя(чЧас,чМин,чСек); чТекВремя = чЧас*3600+чМин*60+чСек; КонецЦикла; КонецПроцедуры; | |||
| 10
    
        falselight 21.03.19✎ 12:17 | 
        Ставлю точку останова на этой строке.
 // ЧТЕНИЕ ЛИСТА Процедура КоманднаяПанель1ПрочитатьДанныеСЛиста(Кнопка) Если ОбрЗавершена = 1 Тогда Сообщить("Данный файл уже был обработан. Перезапустите обработку и выберите новый файл для загрузки!"); Возврат; КонецЕсли; // // Необходимый лист Если Найти(СокрЛП(Строка(ЭлементыФормы.ДеревоЛистов.ТекущаяСтрока.Листы)), "xls") > 0 Тогда Предупреждение("Выберите конкретный лист для загрузки, а не сам файл!"); Возврат; КонецЕсли; // Если Excel = неопределено Тогда Попытка Excel = новый COMОбъект("Excel.Application"); Исключение Сообщить("Похоже, Excel на компьютере не установлен. Необходимо выполнить установку/переустановку Excel."); Возврат; КонецПопытки; //НашФайл = Excel.Workbooks.Open(ИмяФайла); Excel.Workbooks.Open(ИмяФайла); КонецЕсли; // //ПаузаПустымЦиклом(5); // Excel.Sheets(ЭлементыФормы.ДеревоЛистов.ТекущаяСтрока.Листы).select(); Читаю листы, у загруженного файла в дерево. Читается как и один так и другой. Останавливаясь на точке останова. Как только я убираю точку останова, при этих же действиях вываливается ошибка. {ВнешняяОбработка.ЗагрузкаИзExcel_1_2.Форма.Форма.Форма(333)}: Ошибка при вызове метода контекста (Sheets) Excel.Sheets(ЭлементыФормы.ДеревоЛистов.ТекущаяСтрока.Листы).select(); по причине: Произошла исключительная ситуация (0x800a03ec) Что нужно поправить? Подскажите пожалуйста! | |||
| 11
    
        falselight 21.03.19✎ 12:21 | 
        Решил вопрос.
 Нужно было сделать так, - Excel = Неопределено; // КонецПроцедуры | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |