vinculos para modificar macro formulario datos buscar boton actualizar abrir excel vba ide vsto

modificar - macro para actualizar base de datos en excel



VBA VS. VSTO ¿cuál es la diferencia, debo actualizar? (2)

Soy un gran fanático del principio KISS (que sea sencillo) y un VBA de mucho tiempo para el usuario de Excel. Sin embargo, todos los artículos que puedo encontrar en VBA frente a VSTO (Visual Studio Tools para Office) parecen muy complicados.

En primer lugar, estoy harto del IDE muy pobre integrado en Excel y estoy buscando uno nuevo. VSTO usando Visual Studio como el IDE parece ser la única alternativa.

Así que busco entender cuál es la diferencia entre VBA y VSTO para saber si vale la pena aprender a usar VSTO.


El conjunto de herramientas que use es en gran medida una cuestión de preferencia personal, pero aquí hay algunas cosas que debe considerar:
1. Rendimiento: para la mayoría de las tareas relacionadas con Excel, VSTO se desempeña muy lentamente en comparación con VBA debido a la capa Interop adicional.
2. UDF: VSTO no admite UDF
3. Modelo de objetos: es más difícil trabajar con el modelo de objetos de Excel con VSTO que con VBA porque no hay una grabadora de macros .NET que le proporcione sugerencias.
4. IDE: Con VSTO, obtiene acceso al IDE de Visual Studio más reciente (suponiendo que tenga una licencia de Visual Studio)
5. .Net Framework: VSTO le da acceso al muy rico y poderoso framework .NET.
6. Curva de aprendizaje: VB.NET es un lenguaje diferente a VBA y las diferencias entre el marco de trabajo y .NET y el modelo de objetos significan que la transición no es tan simple como podría ser.
7. Si quieres ir a la ruta de Visual Studio / .NET, te recomendaría que veas Addin Express o XLDNA en lugar de VSTO: ambos tienen menos limitaciones que VSTO.


VBA en Excel le da a cada uno la ventaja de tener resultados rápidos entre la edición de su código y su ejecución. Debido a que usted es un buen programador de VBA, podría vivir sin la super característica de Visual Studio (intellisense, try-catch-fanally, hereda, todos los objetos .NET, multihilo ...)

VSTO es una forma de trabajar dentro de un IDE (Visual Studio) muy bueno, pero me temo que perderá mucho tiempo cambiando entre VB.NET y su Excel. No es tan directo como su VBA dentro de su Excel.

Si su propósito principal de programación es permanecer dentro de su archivo de Excel, entonces quédese con VBA. Si realmente necesitas jugar fuera de tu archivo de Excel o si quieres hacer algo que no sea necesario, depende de tus archivos de Excel, quizás podrías considerar VSTO. Además, VSTO es bastante nuevo y la documentación puede no ser genial.

Me quedaría con VBA si fuera tú. ESTA ES MI OPINIÓN HUMBLE. Escribí un pequeño comparativo entre VBA y VB.NET (VSTO): ¡Aquí hay una diferencia entre VB.NET y VBA !