Per favore, ricordati di usare i tag CODE /CODE (tra parentesi quadrate) quando posti del codice, altrimenti diventa tutto illeggibile.
Io ho provato questo codice e funziona:
codice:
<ComClass(alfa.ClassId, alfa.InterfaceId, alfa.EventsId)> _
Public Class alfa
#Region "COM GUIDs"
' These GUIDs provide the COM identity for this class
' and its COM interfaces. If you change them, existing
' clients will no longer be able to access the class.
Public Const ClassId As String = "c069be39-c81c-410e-8828-c348ab245956"
Public Const InterfaceId As String = "a5e4ba01-217d-411d-b751-33b0a4b21a04"
Public Const EventsId As String = "304e6fc0-5112-4690-8957-648a0f4b9cf8"
#End Region
' A creatable COM class must have a Public Sub New()
' with no parameters, otherwise, the class will not be
' registered in the COM registry and cannot be created
' via CreateObject.
Public Sub New()
MyBase.New()
End Sub
Public Function Test() As String
Return Now.ToString
End Function
End Class
In Excel:
codice:
Public Sub Prova()
Dim a As New alfa
Debug.Print a.Test
End Sub