SUB DE UNA DLL VB.NET VISIBLE EN VBA (EXCEL)
Publicado por ANTONIO (1 intervención) el 20/12/2019 12:08:06
Buenas a todos.
Tengo un problema para conseguir en VBA para Excel ver un SUB que está dentro de una dll hecha en VB .net.
Para hacer visible la dll y sus miembors he probado todo lo que he encontrado:
- La única CLASE que contiene es PUBLIC
- El SUB que esa clase contiene es también PUBLIC
- He marcado "Hacer visible el ensamblado COM"
- La he registrado en WIndows, probando tato con REGASM como directamente desde el IDE, con "Registrar para interoperabilidad COM"
- La he firmado
- En Excel, añado al proyecto la referencia a la dll (en realidad, al tlb)
Con todo eso, en Excel sólo veo la CLASE, pero no veo el SUB.
He probado con y sin interfaz, pero el resultado es el mismo.
Mi código en .net es este:
Namespace NS
Public Interface ITF
Sub Test()
End Interface
Public Class C
Implements ITF
Public Sub Test() Implements ITF.Test
MsgBox("Prueba correcta", vbInformation)
End Sub
End Class
End Namespace
Y en VBA de Excel declaro la clase de la dll:
Dim Obj As New PruebaDll_VBnet.C
Pero cuando intento ver los miembros de Obj, no hay nada.
Agradezco de antemano vuestra ayuda.
Saludos.
Tengo un problema para conseguir en VBA para Excel ver un SUB que está dentro de una dll hecha en VB .net.
Para hacer visible la dll y sus miembors he probado todo lo que he encontrado:
- La única CLASE que contiene es PUBLIC
- El SUB que esa clase contiene es también PUBLIC
- He marcado "Hacer visible el ensamblado COM"
- La he registrado en WIndows, probando tato con REGASM como directamente desde el IDE, con "Registrar para interoperabilidad COM"
- La he firmado
- En Excel, añado al proyecto la referencia a la dll (en realidad, al tlb)
Con todo eso, en Excel sólo veo la CLASE, pero no veo el SUB.
He probado con y sin interfaz, pero el resultado es el mismo.
Mi código en .net es este:
Namespace NS
Public Interface ITF
Sub Test()
End Interface
Public Class C
Implements ITF
Public Sub Test() Implements ITF.Test
MsgBox("Prueba correcta", vbInformation)
End Sub
End Class
End Namespace
Y en VBA de Excel declaro la clase de la dll:
Dim Obj As New PruebaDll_VBnet.C
Pero cuando intento ver los miembros de Obj, no hay nada.
Agradezco de antemano vuestra ayuda.
Saludos.
Valora esta pregunta


0