Я создал C# dll, используя веб-службу wsdl.exe. Исходя из этого, я создал приложение C# и VB.Net, и они оба извлекают данные, которые я ожидаю, и даю результат.Неверное количество аргументов в VBA (MS Access) с запросом SOAP, созданным через wsl.exe
Ошибка кода VBA, вызывающего ту же внешнюю dll. Dll возвращает объект, у которого есть свойство DataArea, которое представляет собой массив объектов.
Dim response As CustomerPrice.SimulatePriceResponseType
Set response = New CustomerPrice.SimulatePriceResponseType
Set response = CustPriceService.SimulatePrice(st)
Dim bob As String
bob = response.DataArea(0).bookPrice_Value
В C# и VB.Net последняя строка дает требуемое значение. В VBA последняя строка указывает на «неверное число аргументов или присвоение недействительного имущества» В «Immediate отладки режима»
- печати ответ дает SimulatePriceResponseType, как ожидалось.
- печати response.DataArea дает тип несовпадения (ошибка 13)
- печати response.DataArea (0) дает неверное число аргументов (ошибка 450)
Любые идеи, что происходит и что я могу сделать, чтобы почини это?
Вы не показываете ни в snip, где вы устанавливаете/создаете ответ «var». –