Имя: Пароль:
1C
 
Из VBA подключаюсь к 1С
,
0 repin_mike
 
19.07.17
12:20
Добрый день!
Из VBA подключаюсь к 1С и получаю некоторую информацию. С примитивными типами типа строки или числа проблем не возникает, но мне нужно в VBA передать таблицу значений, а VBA как выяснилось такого не понимает (runtime 438 Object doesn't support this property or method). Подскажите какой тип можно использовать чтобы беспроблемно передать его в VBA
1 Волшебник
 
модератор
19.07.17
12:21
передавай COMSafeArray
2 Numerus Mikhail
 
19.07.17
12:21
Массив Структур?
3 repin_mike
 
19.07.17
12:33
(1) Runtime 1001 Попытка передачи мутабельного значения результата метода
Если функция возвращает Новый COMSafeArray("VT_VARIANT", 5, 5)

(2)runtime 438 Object doesn't support this property or method

Если функция возвращает Новый Массив;
4 Господин ПЖ
 
19.07.17
12:51
тч через com - это "массив массивов" из COMSafeArray
5 НЕА123
 
19.07.17
13:04
(3).1
попробуй VT_I4
потом... видно будет
6 repin_mike
 
19.07.17
14:33
(5) Та же песня, Runtime 1001 Попытка передачи мутабельного значения результата
7 VS-1976
 
19.07.17
14:37
А соединение через v83.comconnector или v83.application ?
8 repin_mike
 
19.07.17
14:39
(7) V82.ComConnector
9 Господин ПЖ
 
19.07.17
14:40
в таблицу чего напихал?
10 repin_mike
 
19.07.17
14:41
(9) Ничего не пихал, пытаюсь просто Возврат Новый COMSafeArray("VT_VARIANT", 5, 5)

http://screenshot.ru/upload/images/2017/07/19/scre00d6.jpg
11 repin_mike
 
19.07.17
14:42
Если пишу Возврат 17 или Возврат "Ололо" то всё работает
12 VS-1976
 
19.07.17
14:44
попробуй через set Rslt = ... всё же com объект присваивается.
13 repin_mike
 
19.07.17
14:49
(12) С массивом прокатило! Спасибо!
ComSafeArray так и не работает
14 VS-1976
 
19.07.17
14:51
(13) Кусок кода скриншоть