|
COM Объект, обращение к перечеслению
|
|||
---|---|---|---|
#18+
Добрый день! Есть на C# написанный COM объект (DLL) Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57.
в Excel подключаю библиотеку скомпилированную и пытаюсь получить доступ к Код: c# 1.
Не могу понять как, подскажите как это сделать? Код VBA Dim srv As VRNGO.VRNGO_Class Dim answer As VRNGO_Packet Dim param AS VRNGO_Parameter Dim inn As String Dim c As Integer Set srv = CreateObject("VRNGO.VRNGO_Class") For Each rw In Selection.Rows inn = rw.Cells(1, 3).Value Set answer = srv.ExchangeOperation("DUBLIUL", inn) rw.Cells(1, 7).Value = answer.operName Set param = answer.parameters(0) <--- тут ошибка объекта нет. Next ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 12:39 |
|
COM Объект, обращение к перечеслению
|
|||
---|---|---|---|
#18+
Код: vbnet 1.
а тут вообще что-то есть? Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 13:30 |
|
COM Объект, обращение к перечеслению
|
|||
---|---|---|---|
#18+
исправил код Excel VBA Dim srv As VRNGO.VRNGO_Class Dim answer As VRNGO_Packet Dim param As Object Dim inn As String Dim c As Integer Set srv = CreateObject("VRNGO.VRNGO_Class") For Each rw In Selection.Rows inn = rw.Cells(1, 3).Value Set answer = srv.ExchangeOperation("DUBLIUL", inn) rw.Cells(1, 7).Value = answer.operName Set param = answer.Parameters(0) <-- вылетает тут с ошибкой Wrong number of arguments or invalid property assigment Next End Sub answer.Parameters внутри должно быть значение, в COM внутри метода ExchangeOperation есть строка Код: c# 1. 2.
в Excel answer.operName работает вывод, в parameters не знаю как вытащить значения. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 13:51 |
|
COM Объект, обращение к перечеслению
|
|||
---|---|---|---|
#18+
а если так: Код: vbnet 1. 2. 3. 4.
что будет в params ? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 13:54 |
|
COM Объект, обращение к перечеслению
|
|||
---|---|---|---|
#18+
Изменил код на Dim srv As VRNGO.VRNGO_Class Dim answer As VRNGO_Packet Dim param As Variant Dim inn As String Dim c As Integer Set srv = CreateObject("VRNGO.VRNGO_Class") For Each rw In Selection.Rows inn = rw.Cells(1, 3).Value Set answer = srv.ExchangeOperation("DUBLIUL", inn) rw.Cells(1, 7).Value = answer.operName Set param = answer.Parameters Next End Sub Ошибка пропала. Добавил в Watch переменную param. До вызова Set param показывает Varaint/Empty. После вызова Variant/Object, но если раскрыть параметр в колонке value No Variables ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 14:26 |
|
COM Объект, обращение к перечеслению
|
|||
---|---|---|---|
#18+
вместо: Код: c# 1.
попробуйте переделать на: Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 14:29 |
|
COM Объект, обращение к перечеслению
|
|||
---|---|---|---|
#18+
Поставил Код: c# 1.
Теперь ошибка на строчке Set param = answer.Parameters: Objecr required ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 14:38 |
|
COM Объект, обращение к перечеслению
|
|||
---|---|---|---|
#18+
Убрал Set из Set param, на просто param = answer.parameters, все получилось. А почему List не получается использовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 14:43 |
|
COM Объект, обращение к перечеслению
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 15:16 |
|
COM Объект, обращение к перечеслению
|
|||
---|---|---|---|
#18+
Petro123, Я полагал что COM дает больше возможностей чем ОLE, если например в том же Excel подключить CreateObject("Word.Application"), то Word классы, структуры и перечисления доступны. Скорее всего в написании COM надо как-то маршалинг прописывать или еще как. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2019, 15:37 |
|
|
start [/forum/topic.php?fid=20&msg=39789595&tid=1399039]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 151ms |
0 / 0 |