|
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: вот пример:
Хочу получить таблицу значений и ее обрабатывать.
|
|
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, но там дальше разбираться надо, как в ТЗ вытащить, т.к. хоть и будет возможность работать с такими значениями, но метода Выгрузить() там опять же может не быть.
|
|