2014-04-19 2 views

risposta

24

Il codice VBA per Excel può essere scritto solo in Excel utilizzando l'IDE VBA. I progetti VBA vengono archiviati come parte del file Excel e non possono essere caricati in Visual Studio.

Tuttavia, è possibile scrivere componenti aggiuntivi gestiti da VSTO per Excel utilizzando Visual Studio. La seguente pagina MSDN copre sia lo sviluppo con VBA e VSTO.

Excel for developers

Si potrebbe anche utilizzare le funzionalità di interoperabilità di VBA di consumare un (COM) scritto in Visual Studio dal codice VBA.

2

Ho cercato personalmente una risposta a questa domanda.

La cosa migliore che ho trovato è l'opzione di esportare un modulo ect da Excel con il codice che hai già scritto (o vuoto) e caricarlo nell'ambiente di Visual Studio.

Non offre molto, ma il testo evidenziato e il rientro automatico sono carini e semplificano la lettura rispetto all'ambiente VBA standard.

Quindi, una volta terminato, è sufficiente importarlo nuovamente in Excel.

+0

E il rilevamento degli errori e l'intelligenza? – beppe9000

0

Il meglio che si può fare è piegare lo strumento Visual Basic Editor (VBE) dell'ufficio a proprio piacimento. Se si rimane nel suo ambiente nativo si ottiene tutta la potenza di rilevazione degli errori, Intellisense, il codice dal vivo in esecuzione, ecc

I miei consigli ...

  1. Nel VBE andare in Strumenti> Opzioni> Editor scheda.
    Disattiva 'Verifica sintassi automatica'. Hai ancora errori di codice evidenziati ma non fastidiosi popup.

  2. Andare alla scheda Formato Editor e modificare il Font su Consolas (Western), Dimensione 11.

  3. Per il rientro del codice installare l'impressionante, gratuito, Code Manager. Aggiunge alcune scorciatoie da tastiera malate.
    enter image description here

  4. Fai il Edit toolbar easily accessible per il codice commentando/decommentando. enter image description here

Con questi semplici cambiamenti si finisce con una mezza modo decente, utile, e favorevole all'ambiente tastiera per scrivere il codice visivamente accattivante. :-D

enter image description here