2013-05-27 7 views
18

Sono un grande fan del principio KISS (Keep it simple) e VBA di lunga data per utenti eccellenti. Tuttavia tutti gli articoli che posso trovare su VBA vs VSTO (Visual Studio Tools per Office) sembrano molto complicati.VBA VS. VSTO qual è la differenza, dovrei aggiornare?

In primo luogo, sono stufo del molto scarso IDE incorporato in Excel e sto cercando uno nuovo. VSTO utilizzando Visual Studio come IDE sembra essere l'unica alternativa.

Quindi cerco di capire qual è la differenza tra VBA e VSTO per sapere se vale la pena imparare a utilizzare VSTO?

+2

@David, questo sembra vicino ma non credo sia giusto chiamare questo duplicato – chollida

+12

Questo non è un duplicato: il confronto di VB6 con VBA non ha nulla a che fare con il confronto di VSTO/VB.NET con VBA. –

+3

Sicuramente non è un duplicato! – StuartQ

risposta

14

Quale set di strumenti è in gran parte una questione di preferenze personali, ma qui ci sono alcuni aspetti da considerare:
1. Prestazioni: per la maggior parte delle attività relative a Excel VSTO si comporta molto lentamente rispetto a VBA a causa del livello Interop aggiuntivo.
2. UDF: VSTO non supporta le UDF
3. Modello oggetto: è più difficile lavorare con il modello a oggetti Excel con VSTO che con VBA perché non esiste un registratore .NET Macro per fornire suggerimenti.
4. IDE: con VSTO si ottiene l'accesso all'IDE di Visual Studio più recente (presupponendo che si disponga di una licenza Visual Studio)
5. .Net Framework: VSTO consente di accedere alla struttura .NET molto ricca e potente
6. Curva di apprendimento : VB.NET è una lingua diversa da VBA e il framework .NET e le differenze del modello a oggetti significano che la transizione non è così semplice come potrebbe essere.
7. Se si desidera seguire il percorso Visual Studio/.NET piuttosto che VSTO: entrambi hanno meno limitazioni rispetto a VSTO

9

VBA in Excel offre a tutti il ​​vantaggio di avere risultati rapidi tra la modifica del codice e l'esecuzione del codice. Poiché sei un buon programmatore VBA, potresti vivere senza la super funzione di Visual Studio (intellisense, try-catch-fanally, eredita, ogni oggetto .NET, multi-threading ...)

VSTO è un modo per lavoro all'interno di un ottimo IDE (Visual Studio), ma temo che passi molto tempo a passare da VB.NET a Excel. Non è diretto come il tuo VBA all'interno di Excel.

se lo scopo principale della programmazione è di rimanere all'interno del file Excel, quindi rimanere con VBA. Se hai davvero bisogno di giocare fuori dal tuo file excel o se vuoi fare qualcosa che non è necessario dipende dai tuoi file Excel, forse potresti prendere in considerazione VSTO. Inoltre, VSTO è piuttosto nuovo e la documentazione potrebbe non essere geniale.

Sarei rimasto con VBA se fossi in te. QUESTO È IL MIO OPINIONE UMILE. Ho scritto un po 'di comparazione tra VBA e VB.NET (VSTO): Ecco Difference between VB.NET and VBA!

Problemi correlati