Имя: Пароль:
1C
1C 7.7
v7: Ошибка при загрузке области эксель из 1с 7.7
,
0 barsik123
 
17.09.18
12:52
Для ускорения загрузки из эксель решил воспользоваться методом выбора области ячеек экселя для дальнейшей обработки в 1с. делаю так:
Excel    = СоздатьОбъект("Excel.Application");    
    Книга    = Excel.Application.Workbooks.Open(ВыбИмяФайла);
    ЛистЭксель     = Книга.WorkSheets(1);
    Строк = Excel.Cells(1,1).SpecialCells(11).Row;
    ВсегоКолонок=9;
    НомерПервойСтроки=3;
    НомерПервойКолонки=1;
    
    Область = ЛистЭксель.Range(ЛистЭксель.Cells(НомерПервойСтроки,НомерПервойКолонки), ЛистЭксель.Cells(Строк,ВсегоКолонок));
    Данные = Область.Value;
При выполнении: Область.Value, выдается ошибка "тип переменной не поддерживается". Пробовал на разных машинах под 2013, 2010 офисом.
Что не так?
1 Salimbek
 
17.09.18
13:06
(0) И что должно, теоретически, получиться после Данные = Область.Value;
2 barsik123
 
17.09.18
13:17
(1) я делаю по аналогии, как для 1с 8: вот пример:
https://helpf.pro/faq/view/1013.html
Хочу получить таблицу значений и ее обрабатывать.
3 Cool_Profi
 
17.09.18
13:18
(2) А ты не пробовал СКД в 77 использовать, по аналогии, как в 8,* ?
4 barsik123
 
17.09.18
13:21
(3)неуместное сравнение.
5 Злопчинский
 
17.09.18
13:27
Вэлью из области - это сильно!
6 Salimbek
 
17.09.18
13:30
(2) Если делаешь "по аналогии", то почему код переписываешь с ошибками?
Данные = Область.Value.Выгрузить();
7 Злопчинский
 
17.09.18
13:32
(6) от бездуховности, стопудово!
8 barsik123
 
17.09.18
13:34
(6)Логично, если Область.Value не работает,то и Область.Value.Выгрузить() работать не будет.
Естественно в начале пробовал именно так.
9 Salimbek
 
17.09.18
15:22
(8) Вовсе это не "логично". А если по теме, то во времена 7.7 никто не думал о типах вроде ComSafeArray и тому подобных, и потому перебор этой хрени никто не делал. А вот в 8.х уже сделали. Именно на это тебе тонко намекали в (3).
Отдельно замечу, что Тип у Область.Value может вполне себе отличаться от Область.Value.Выгрузить() и потому одно может работать, а другое нет.
Решить вопрос можно: 1) не работая с областями, а перебирая все поэлементно; 2) Используя Йоксель вытащить данные из файла; 3) Или используя DynaWrap победить неизвестные для 7.7 типы Область.Value, но там дальше разбираться надо, как в ТЗ вытащить, т.к. хоть и будет возможность работать с такими значениями, но метода Выгрузить() там опять же может не быть.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн