![]() |
|
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, но там дальше разбираться надо, как в ТЗ вытащить, т.к. хоть и будет возможность работать с такими значениями, но метода Выгрузить() там опять же может не быть. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |