什麼是正確的方式來傳遞用戶定義的類從vba數組到.net(特別是C#)使用com-interop?從vba傳遞數組到c#使用com-interop
這是我的c#代碼。如果我從vba調用Method1,那麼它會失敗,並顯示「Array or userdefined type expected」或「Function uses an automatic type not visual in visual basic」。
public class MyClass
{
public Method1(UserDefinedClass[] Parameters) { ... }
public Method2(Object Parameters) { ... }
}
我讀過一些關於MarshallAsAttribute類的內容。這可能是c#代碼中缺失的部分嗎?
下面是我使用的VBA代碼:你有
Dim udt As New UserDefinedClass
Dim myArray()
myArray(1) = udt
myClass.Method1(myArray)
myClass.Method2(myArray)
我們會需要更多的信息在這裏。你可以添加類型的VBA定義和一些代碼來顯示調用COM接口嗎? – JaredPar 2010-01-08 13:24:56
添加了vba代碼。 – Freddie 2010-01-08 21:02:00
你的數組聲明聲明瞭一個變體數組 - 它應該聲明一個你的UserDefinedClass數組,例如「Dim myArray(0 To 3)As UserDefinedClass」 – Joe 2010-01-08 21:28:42