Come utilizzare la libreria di classi .NET in Excel VBA

Gli sviluppatori di software della tua azienda possono lavorare con il framework .NET di Microsoft per creare potenti macro di Excel per i tuoi fogli di calcolo. Il framework .NET contiene una vasta libreria di classi che eseguono una varietà di attività utili. La classe CryptoClass, ad esempio, può aiutarti a crittografare e decrittografare i dati aziendali utilizzando solo poche righe di codice. Puoi persino creare le tue librerie di classi .NET specializzate e farvi riferimento dall’editor di codice VBA di Excel. Tu o gli sviluppatori della tua azienda potete creare librerie di classi .NET più utili utilizzando questa tecnica. Dopo aver creato le macro di Excel, puoi usarle come faresti con qualsiasi altra macro.

Crea libreria di classi .NET

1

Avvia Microsoft Visual Studio. Fare clic su “Nuovo” e quindi su “Progetto”. Fare clic su “Visual Basic” e quindi su “Libreria di classi”. Copia il nome della cartella che appare nella casella di testo Posizione. Questa cartella memorizzerà i file della libreria di classi.

2

Digita “ClassLibrary1” nella casella di testo “Nome” e fai clic su “OK”. Visual Studio crea una nuova libreria di classi denominata ClassLibrary1. Nella finestra Solution Navigator viene visualizzato un nuovo file di classe denominato Class1.vb.

3

Fare doppio clic sul file Class1.vb per visualizzare la classe nella finestra del codice. Poiché la classe è vuota, contiene solo il codice seguente:

Classe pubblica Class1

Classe finale

Incolla il codice seguente prima dell’istruzione End Class:

Funzione pubblica Moltiplica (ByVal inVal As Integer) As Integer Dim computedValue As Integer computedValue = inVal * 2 Return computedValue Fine Funzione

Questo codice crea una semplice funzione denominata Multiply. Questa funzione accetta una variabile in entrata denominata inVal, la moltiplica per due e restituisce il risultato a qualsiasi programma che richiami la funzione.

Compilare la libreria di classi .NET

1

Passare al Solution Navigator e fare clic con il pulsante destro del mouse sul nome del progetto, che in questo caso è ClassLibrary1. Fare clic sull’opzione “Proprietà” che appare in un menu a discesa per visualizzare la finestra Proprietà del progetto.

2

Fare clic su “Compila” e fare clic sulla casella di controllo “Registrati per interoperabilità COM” per inserire un segno di spunta. In questo modo è possibile rendere visibile la libreria di classi come un componente COM.

3

Fare clic su “Build” e quindi su “Build Solution”. Visual Studio compila il progetto e crea due file visualizzati nella cartella BIN dei progetti: un file DLL e un file .TLB.

Aggiungi libreria di classi a Excel

1

Avvia Excel e cerca una scheda Sviluppatore sulla barra multifunzione di Excel. Se vedi quella scheda, vai al passaggio successivo. In caso contrario, fare clic con il pulsante destro del mouse sulla barra multifunzione, selezionare “Personalizza barra multifunzione” e fare clic sulla casella di controllo “Sviluppatore” visualizzata nella finestra a comparsa Personalizza barra multifunzione. Fare clic su “OK” e Excel aggiunge la scheda Sviluppatore alla barra multifunzione. La scheda Sviluppatore ti consente di lavorare con macro e VBA.

2

Fare clic sulla scheda “Sviluppatore” e quindi su “Visual Basic” per aprire la finestra VBA. Fare clic su “Inserisci” e fare clic su “Modulo” per aggiungere un nuovo modulo al progetto.

3

Fai clic su “Strumenti” e seleziona “Riferimenti”. VBA apre la finestra Riferimenti. Fare clic su “Sfoglia” per visualizzare una finestra di selezione dei file che contiene un elenco delle cartelle del disco rigido.

4

Sfogliare la finestra e individuare la cartella che contiene la libreria di classi .NET creata. Fare doppio clic su quella cartella per rivelare la cartella BIN. Fare doppio clic sulla cartella BIN per aprirla.

5

Fare doppio clic sul file ClassLibrary1.tlb che risiede nella cartella BIN e fare clic su “OK”. VBA chiude la finestra Riferimenti.

6

Incolla il codice mostrato di seguito nel modulo vuoto che hai creato:

Sub DoubleNumber () Dim classLib As New ClassLibrary1.Class1 Dim newValue As Integer newValue = classLib.Multiply (3) MsgBox newValue End Sub

Questo codice chiama la funzione Multiply creata in .NET e le passa il numero 3. La funzione Multiply viene eseguita, la moltiplica per 2 e restituisce il risultato. Questo codice memorizza quel valore nella variabile newValue. L’ultima riga di codice visualizza il risultato in una finestra di messaggio a comparsa.

7

Riduci a icona la finestra VBA e torna alla finestra principale di Excel. Fare clic sul pulsante “Macro” situato nella sezione Codice della scheda Sviluppatore. Excel visualizza la finestra a comparsa Macro. DoubleNumber, il nome della funzione VBA creata, viene visualizzato nell’elenco delle macro.

8

Fare clic su DoubleNumber per selezionarlo e quindi fare clic su “Esegui”. La macro viene eseguita, passa il numero 2 alla funzione della libreria di classi e visualizza 6, che è il risultato del calcolo.