0

Excel で .net コード アセンブリを使用するための Rich Newman のガイドに従っています。次のような MyProperty というプロジェクトで MyPro[p という小さなテスト クラスを作成しました。

Imports System.Runtime.InteropServices
Public Class MyProp
    Public Function GetData() As String
        Return "Hello World"
    End Function
End Class

それは正常にコンパイルされ、CLSID を regedit に入れ、(ブラウズして TLB を見つけた後) それ自体を Excel の参照に追加できるようにします。ただし、実際には使えません。VBAでこれを試しました:

Private Sub test()
Dim test As New MyProperty.MyProp
MsgBox test.GetData()
End Sub

どちらが返されますか:

「クラスがオートメーションをサポートしていないか、期待されるインターフェイスをサポートしていません」

このエラーは、 GetDataが見つからないか、間違って呼び出していることを意味していると思います。TLB を再度追加しましたが、効果はありません。

何か案は?

4

1 に答える 1

0

問題は、バインディング内の操作の順序に関係しています。オブジェクトを DIM してから、別の行で Newing することで、これを機能させることができます。

于 2013-11-18T22:47:21.567 に答える