Ciao Moreno e soprattutto grazie per la risposta...
posto codice (spaccato del codice di produzione)
Namespace NS_PUBLICVAR
Public Class CL_PUBLICVAR
Public Structure MiaStruttura
Public Campo1 As String
Public Campo2 As String
End Structure
End Class
End Namespace
====================================================
la struttura sta in NS_PUBLICVAR.vb del progetto
====================================================
<ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)> _
Public Class ComClass1
#Region "GUID COM"
' Questi GUID forniscono l'identità COM per la classe
' e le sue interfacce COM. Se vengono modificati, i client
' esistenti non saranno più in grado di accedere alla classe.
Public Const ClassId As String = "afc41bdc-3070-4081-a5ae-55e36e7c537c"
Public Const InterfaceId As String = "31192733-52fe-415a-a639-cb98ee966b2b"
Public Const EventsId As String = "06d723ed-491a-4d2a-958e-13adf08298e0"
#End Region
' È possibile creare classi COM solo se dispongono di una classe Public Sub New()
' senza parametri. In caso contrario, la classe non può essere
' registrata nel registro COM e non può essere creata
' con CreateObject.
Public Sub New()
MyBase.New()
End Sub
Public Sub ASSEGNA(struttura As NS_PUBLICVAR.CL_PUBLICVAR.MiaStruttura)
struttura.Campo1 = "Valore1"
struttura.Campo2 = "Valore2"
End Sub
End Class
====================================================
la classe sta in ComClass1.vb del progetto per fare una cosa veloce
====================================================
=========================================================
lato excel
Public Type MiaStruttura
Campo1 As String
Campo2 As String
End Type
Sub PROVA()
Dim ricevo1 As String
Dim ricevo2 As String
Dim struttura As MiaStruttura
Dim oggetto As MORENO.ComClass1
Set oggetto = New MORENO.ComClass1
struttura.Campo1 = "pippo"
struttura.Campo2 = "pluto"
Call oggetto.ASSEGNA(struttura)
ricevo1 = struttura.Campo1
ricevo2 = struttura.Campo2
End Sub
non sono capace d'inserire qui una immagine cmq mi risponde il compilatore
"Variable uses an Automation type not supported in Visual Basic"
premendo il punto di domanda per l'help
==========================================
Variable uses a type not supported in Visual Basic (Error 458)
Not every variable that appears in a type library or object library can be used by every programming language. This error has the following cause and solution:
You tried to use a variable defined in a type library or object library that has a data type that isn't supported by Visual Basic.
You can't use a variable of a type not recognized by Visual Basic in a Visual Basic program.
For additional information, select the item in question and press F1 (in Windows) or HELP (on the Macintosh).
==========================================
prima di postare qui ho fatto qualche prova
le dichiarazioni sono giuste
se faccio la call senza par sia da una parte sia dall'altra...ovviamente non fa nulla ma funziona
anche a seguire l'help non trovo la soluzione
bho...struttura da una parte e dall'altra in mezzo ci sta il COM e non si riesce?
bho...magari sbaglio io....