mia comprensione di utilizzare la proprietà Let in un modulo di classe finora è che lo si imposta nei moduli di classe come questo:Lasciare la proprietà dei moduli di classe VBA - è possibile avere più argomenti?
Dim pName as String
Public Property Let Name(Value As String)
pName = Value
End Property
E poi, dopo aver creato un oggetto di questa classe è possibile impostare questa proprietà in questo modo:
MyObject.Name = "Larry"
domanda: E 'possibile entrare in qualche modo più argomenti in una proprietà di classe? Per esempio:
Dim pFirstName as String, pLastName as String
Public Property Let Name(FirstName As String, LastName As String)
pFirstName = FirstName
pLastName = LastName
End Property
Come procedere quindi a impostare questa proprietà al di fuori della classe?
MyObject.Name = ??
Oppure è semplicemente impossibile farlo?
Una singola proprietà non può avere due parametri ters, anche se potresti usare un array. In un caso come questo è probabilmente meglio usare un Sub regolare come 'SetName (first, last)' –
Grazie. Sei sicuro che sia possibile farlo con un array? Continuo a ricevere l'errore "Impossibile assegnare all'array" quando lo provo. – mattboy
@mattboy - ho aggiunto alla mia risposta per mostrarvi come è possibile restituire o un oggetto più complesso con i dati richiesti. – InContext