Condividi tramite

Classi VBA Excel: proprietà che sia anche un oggetto

Anonimo
2012-10-06T05:57:34+00:00

Mi è stato detto che posso fare domande anche riguardo il codice VBA, quindi ne approfitto.

Il mio problema sono le classi e le loro proprietà, non quelle proprie del VBA di Excel, ma quelle create tramite i moduli di classe. Mi rendo conto che, rispetto il VB.net, nel VBA l’implementazione del concetto di classe è assai limitato, ma non so fino a quale punto, e la poca letteratura in merito non mi aiuta affatto.

Vorrei creare una proprietà (di una classe) che sia anche un oggetto. A sua volta l’oggetto-proprietà creato potrà avere delle proprietà e dei metodi. In pratica, per restituire il valore di una proprietà dell’oggetto- proprietà, in questo caso memorizzato in una variabile, dovrei scrivere una cosa del genere: Variabile=Oggetto1.Oggetto2(ValoreDiEventualeArgomento1,…ValoreDiEventualeArgomentoN).ProprietàDiOggetto2(ValoreDiEventualeArgomento1,…ValoreDiEventualeArgomentoN)

Ma vorrei anche che questa proprietà-oggetto, chiamata solo come proprietà, cioèOggetto1.Oggetto2,non possa impostare né restituire nulla. Un esempio utile è la proprietà Interiordell’oggetto Range (che se proprio vogliamo essere puntigliosi è anch’esso una proprietà di un altro oggetto). RiguardoInterior la guida in linea cita testualmente: Utilizzare la proprietà Interior per restituire l'oggetto Interior.  Infatti Range.Interior è solamente un oggetto, non restituisce e non imposta nulla di concreto, a meno che non venga usato con le proprietà di Interior (ed es. Color,ColorIndex,ThemeColor ecc.).

A questo punto dovrei parlare del mio progetto in particolare, ma ho provato a farlo e ottengo un discorso lunghissimo che, per educazione, non voglio aggiungere in questo post. Se mi verrà richiesto, lo farò in seguito.

E a quest’altro punto chiedo invece: è possibile fare ciò che ho detto? Nel caso lo sia, sapete dirmi come devo fare, passo per passo? O potete inviarmi un link che porti a una guida dettagliata sull'argomento? (anche in lingua inglese, non c’è problema, anche perché sono abbastanza sicura che in italiano non ve ne siano, ho già provato). Qualsiasi aiuto è ben accetto.

Saluti e grazie a tutti.

Rosa

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2012-10-06T16:01:23+00:00

 

<cut>

E a quest’altro punto chiedo invece: è possibile fare ciò che ho detto? Nel caso lo sia, sapete dirmi come devo fare, passo per passo? O potete inviarmi un link che porti a una guida dettagliata sull'argomento? (anche in lingua inglese, non c’è problema, anche perché sono abbastanza sicura che in italiano non ve ne siano, ho già provato). Qualsiasi aiuto è ben accetto.

Saluti e grazie a tutti.

Rosa

Non ho capito a cosa serva tutto ciò. Se spieghi il punto di arrivo, forse riusciamo a capire. Grazie.

Comunque questa è la Bibbia della programmazione ad oggetti con Visual Basic 6.0. In italiano(difficile da trovare):

http://www.amazon.it/Visual-Basic-Creare-oggetti-CD-ROM/dp/8871319443/ref=sr_1_1?ie=UTF8&qid=1349539076&sr=8-1

In inglese:

http://www.amazon.com/Doing-Objects-Microsoft-Visual-Basic/dp/1562765779/ref=sr_1_8?ie=UTF8&qid=1349539216&sr=8-8&keywords=deborah+kurata

Aggiungo che Excel *non è* un programma scritto in Visual Basic e che le librerie/oggetti che espone seguono altri paradigmi di programmazione. Il linguaggio/codice VB che il motore VBA interpreta per utilizzare quelle librerie ha noti limiti se confrontato a veri linguaggi ad oggetti.

La risposta è stata utile?

0 commenti Nessun commento

0 risposte aggiuntive

Ordina per: Più utili