Come convertire le macro di Excel in .Net

Più piccoli imprenditori di quanto si potrebbe pensare stiano creando e scrivendo i propri programmi software e molte volte i primi piccoli passi di programmazione implicano l'uso di Visual Basic for Applications o VBA. VBA è il linguaggio di programmazione utilizzato con Microsoft Excel e altre applicazioni di Office che consente di automatizzare quasi tutte le attività in un'applicazione di Office. Una volta che gli utenti hanno compreso la sintassi VBA relativamente facile da usare, molti passano alla piattaforma di sviluppo di applicazioni Web di Microsoft, .NET. Se hai macro di Excel che hai codificato con VBA, scoprirai che la sintassi utilizzata sia in VBA che in .NET è simile. Pertanto, non è necessario reinventare la ruota e l'hard-code da zero codice del modulo .NET per le funzioni di Excel che hai già scritto. Se segui alcune semplici regole di codifica, la conversione del codice VBA di Excel per l'utilizzo in .NET è relativamente semplice.

Esporta codice VBA da Excel

1

Avvia Excel e apri la cartella di lavoro che contiene il codice macro che desideri convertire in .NET.

2

Premere i tasti "Alt-F11" per avviare l'editor VBA. Attendi alcuni secondi affinché l'editor VBA si apra e carichi tutti i moduli macro per la cartella di lavoro Excel attiva.

3

Individua la cartella "Modules" sotto l'intestazione VBAProject sul lato sinistro della finestra dell'editor VBA. Fare doppio clic sulla cartella "Modules" per espandere e visualizzare tutte le macro nella cartella di lavoro attiva. Fare clic e selezionare il nome del primo modulo nell'elenco.

4

Fare clic su "File" nella barra dei menu, quindi fare clic su "Esporta file". Immettere un nome descrittivo per il codice del modulo nel campo "Nome file". Individuare una comoda cartella sul PC in cui salvare il file del modulo del codice macro e fare clic su "Salva". L'editor VBA salva il codice macro come file .BAS.

5

Utilizzare l'opzione "Esporta file" nella barra dei menu "File" per esportare tutti gli altri moduli macro dalla cartella di lavoro di Excel che si desidera convertire in .NET. Chiudere prima la finestra dell'editor VBA, quindi uscire da Excel.

Importazione e conversione di macro di Excel in .NET

1

Avvia Visual Basic o Visual Basic Express sul tuo computer. Aprire il file di progetto .NET in cui si desidera importare il codice macro di Excel esistente.

2

Fai clic sul link "Progetto" nella barra dei menu, quindi su "Aggiungi modulo". Nel menu a tendina, fai clic su "Esistente". Individua la cartella in cui hai salvato i file .BAS esportati da Excel. Evidenzia il primo file .BAS nella cartella e fai clic su Apri. Visual Basic aggiunge il modulo alla finestra del progetto .NET.

3

Fare doppio clic sul nome del modulo macro di Excel importato. Quando apri il codice del modulo nella finestra dell'editor VB, probabilmente ci sono alcune righe nel codice che contengono testo rosso. Ciò indica che la sintassi del codice utilizzata non è compatibile con VB o .NET. Queste sono le righe nel codice che è necessario modificare per far funzionare il modulo con l'applicazione .NET.

4

Aggiungere un'annotazione ByRef all'inizio del codice macro importato subito dopo la sintassi "Sub". Ad esempio, se hai importato un modulo macro denominato OpenPowerPoint, la prima riga di codice contiene la sintassi "Sub OpenPowerPoint ()". Per rendere il codice compatibile come modulo .NET, riscrivi la sintassi come "OpenPowerPoint (ByRef x As Integer)".

5

Rimuovi tutte le proprietà predefinite per i tuoi riferimenti. Ad esempio, in VBA puoi scrivere codice come "a =" Hello World "" ed Excel sa che la variabile "a" si riferisce al testo. Tuttavia, nelle applicazioni VB o .NET le proprietà predefinite devono specificare il tipo di proprietà in modo esplicito. Utilizzando l'esempio "a =" Hello World "", è necessario modificare la sintassi in "a.text =" Hello World "."

6

Utilizzare il comando Call con le chiamate di funzione o metodo a un oggetto esterno. Excel VBA consente di chiamare una funzione o un modulo esterno con una semplice voce "= NameOfFunctionToCall" nella sintassi del codice. Tuttavia, nelle applicazioni .NET, è necessario utilizzare sempre il comando "Call NameOfFunctionToCall ()".