Подскажите, пожалуйста, можно ли передать данные Excel VBA в виде двумерного массива типа Variant в функцию написанную в dll C++ и вернуть данные обратно в VBA после обработки. И если - да, то можно ли привести примерчик, как это реализовать? Заранее спасибо всем откликнувшимся!
Передать двумерный массив Variant из VBA в dll C++, ...и вернуть их после обработки обратно в VBA.
24.11.2017 09:34:57
|
|
|
|
24.11.2017 09:41:46
|
|
|
|
24.11.2017 16:27:25
Спасибо
|
|
|
|
13.02.2019 21:26:57
Как вы описывали функцию, тип аргумента
|
|||
|
|
14.02.2019 11:49:22
Роман3101, можно объявить As Variant, тогда можно передавать что угодно, за исключением пользовательских типов.
Тогда задача dll - разобраться в структуре переданного Variant. |
|
|
|
16.02.2019 00:07:29
Можно написать не процедурную dll, а СОМ.dll. Это несколько сложнее, зато SAFEARRAY и VARIANT это элемент dual-интерфейсов и интерфейсов, помеченных атрибутом oleautomation. Родные структуры для VB, и возможностью использовать в любых программах с поддержкой СОМ. Подключение и использование для пользователя выглядит следующим образом:
«Бритва Оккама» или «Принцип Калашникова»?
|
||||
|
|
|||