Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Как получить значение из ячейки экселя?

v7: Как получить значение из ячейки экселя?
Я
   Владимир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
":"
   PALESIA
 
3 - 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();
   Владимир1С
 
4 - 23.01.13 - 17:15
Дико извиняюсь, провёл проверку экселя: скопировал в новую книгу, из копии всё загрузилось (?????). Видимо, где-то в экселе есть параметр, влияющий на читабельность.  
(3) большое спасибо за напоминание про .Text ,попробую с ним.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует