|
v7: Как получить значение из ячейки экселя? | ☑ | ||
---|---|---|---|---|
0
Владимир1С
23.01.13
✎
16:53
|
Вот конструкция, отвечающая за возврат значения:
Возврат СокрЛП(Строка( Worksheet.Range(СокрЛП(столбец)+строка(нчСтр)).Value )); Открываю эксель - данные вижу. Открываю отладчик - показывает ошибку. Буквально неделю назад всё работало без вопросов. В чём может быть дело??? |
|||
1
Владимир1С
23.01.13
✎
16:59
|
начало такое :
Exel=СоздатьОбъект("Excel.Application"); WorkBook=Exel.Workbooks.Open(СокрЛП(ВходнойФайл)); Exel.DisplayAlerts=1; ВходExcel=Exel; КонечнаяСтрока = число(ВходExcel.ActiveSheet.Cells(1,1).SpecialCells(11).Row); Worksheet=WorkBook.Worksheets(1); |
|||
2
Надсмотрщик
23.01.13
✎
17:07
|
":"
|
|||
3
PALESIA
23.01.13
✎
17:10
|
(0) Ну как-то так ... :
Состояние(" Производится определение пути к загружаемому файлу."); ИмяПути = КаталогИБ(); ИмяФайла = ""; спрПути = СоздатьОбъект("Справочник.ПутиЗагрузки"); спрПути.НайтиПоКоду(14,0); Если спрПути.Выбран()=1 Тогда ИмяПути = СокрЛП(спрПути.Наименование); КонецЕсли; Состояние(" Производится запрос файла для загрузки документа."); ЗаглВвода = " Выберите файл для загрузки:"; Если ФС.ВыбратьФайл(0,ИмяФайла,ИмяПути,ЗаглВвода,"(*.xls)|*.xls")<1 Тогда Предупреждение("Файл для загрузки данных выбран не был !"); Возврат; КонецЕсли; Состояние(" Производится запрос листа файла для загрузки."); ЗаглВвода = " Укажите лист для загрузки:"; ЗагрЛист = "Лист1"; Если (ВвестиСтроку(ЗагрЛист,ЗаглВвода,20,0)<1) или (ПустаяСтрока(ЗагрЛист)=1) Тогда Предупреждение("Лист для загрузки указан не был !"); Возврат; КонецЕсли; Состояние(" Производится открытие файла и выбор загружаемого листа."); ЛистВыбран = "Нет"; Excel = СоздатьОбъект("Excel.Application"); WorkBook = Excel.WorkBooks.Open(ИмяПути+ИмяФайла); Для НомерЛиста=1 По WorkBook.WorkSheets.Count Цикл Если WorkBook.WorkSheets(НомерЛиста).Name=ЗагрЛист Тогда ЗагрЛист = WorkBook.WorkSheets(НомерЛиста); ЛистВыбран = "Да"; Прервать; КонецЕсли; КонецЦикла; Если ЛистВыбран="Нет" Тогда Предупреждение(" Указанный лист для загрузки в файле не обнаружен !"); Возврат; КонецЕсли; Состояние("Производится проверка наличия данный на указанном листе файла."); ВсегоСтрок = ЗагрЛист.UsedRange.Rows.Count; Если ВсегоСтрок=0 Тогда Предупреждение(" Указанный Вами лист для загрузки пуст !"); Возврат; КонецЕсли; Состояние(" Производится запрос начальной строки для загрузки."); НачСтрока = 10; ЗаглВвода = " Укажите номер начальной строки:"; Если (ВвестиЧисло(НачСтрока,ЗаглВвода,5,0)<1) или (НачСтрока=0) Тогда Предупреждение("Начальная строка для загрузки указана не была !"); Возврат; КонецЕсли; // ЗАГРУЗКА ДАННЫХ ИЗ ФАЙЛА спрНоменкл = СоздатьОбъект("Справочник.Номенклатура"); начСостояния = " Обрабатывается строка № "; конСостояния = " из "+ВсегоСтрок+" строк."; Для НомСтроки=НачСтрока По ВсегоСтрок Цикл Состояние(начСостояния+НомСтроки+конСостояния); // Считывание строки данных КолонкаВ = СокрЛП(ЗагрЛист.Cells(НомСтроки,"B").Text); КолонкаС = СокрЛП(ЗагрЛист.Cells(НомСтроки,"C").Text); КолонкаЕ = Число(ЗагрЛист.Cells(НомСтроки,"E").Value); // Обработка полученных данных ... КонецЦикла; Состояние(" Производится завершение загрузки данных из файла."); Excel.ActiveWorkbook.Close(); Excel.Quit(); |
|||
4
Владимир1С
23.01.13
✎
17:15
|
Дико извиняюсь, провёл проверку экселя: скопировал в новую книгу, из копии всё загрузилось (?????). Видимо, где-то в экселе есть параметр, влияющий на читабельность.
(3) большое спасибо за напоминание про .Text ,попробую с ним. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |