我使用网络服务wsdl.exe创建了一个C#dll。基于此我创建了一个C#和VB.Net应用程序,它们都检索我期望的数据并给我结果。
调用相同外部dll的VBA代码失败。该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中,最后一行表示错误的参数数量或无效的属性分配' 在'立即模式调试'
任何想法发生了什么以及我可以做些什么来解决它?
答案 0 :(得分:0)
它似乎与数组有关,或与VBA如何解释它有关,虽然我不确定究竟是什么。
我找到了dll源代码并添加了一个属性,该属性仅返回数组的第一个元素作为PriceData对象,而不是PriceData []数组。
按原样运作