次のように COM に公開されるクラス ライブラリがあります。
<ComClass(SomeClass.ClassId, SomeClass.InterfaceId, SomeClass.EventsId)>
Public Class SomeClass
Public Const ClassId As String = "GUID1"
Public Const InterfaceId As String = "GUID2"
Public Const EventsId As String = "GUID3"
Public Sub SomeMethod(ByVal ParamArray values() As Object)
''//Some Code Here
End Sub
End Class
次に、 regasm /tlb /codebase を使用して登録しました。すべてのメソッドとプロパティは VBA/VB6 で正しく動作しているように見えますが、ParamArray を使用してメソッドにアクセスしようとすると、イベント コンパイルが行われません。エラーが発生します:
コンパイル エラー:
関数またはインターフェイスが制限付きとしてマークされているか、関数が Visual Basic でサポートされていないオートメーション型を使用しています。
このメソッドを適切に公開して、このように使用できるようにするにはどうすればよいですか?:
SomeClass.SomeMethod 1, 2, 3