Para casi todos los propósitos de programación, VBA y VB 6.0 son lo mismo.
VBA no puede compilar su programa en un binario ejecutable. Siempre necesitará el host (un archivo de Word y MS Word, por ejemplo) para contener y ejecutar su proyecto. Tampoco podrá crear DLL COM con VBA.
Aparte de eso, hay una diferencia en el IDE: el IDE de VB 6.0 es más poderoso en comparación. Por otro lado, tiene una estrecha integración de la aplicación host en VBA. Los objetos globales de la aplicación (como "ActiveDocument") y los eventos están disponibles sin declaración, por lo que la programación específica de la aplicación es sencilla.
Aún así, nada le impide encender Word, cargar el IDE de VBA y resolver un problema que no tiene relación alguna con Word. No estoy seguro de si hay algo que VB 6.0 pueda hacer (técnicamente), y VBA no. Sin embargo, estoy buscando una hoja de comparación en el MSDN.
VBA significa Visual Basic para Aplicaciones y también lo es el pequeño hermano de secuencias de comandos "para aplicaciones" de VB. VBA está disponible en Excel, pero también en las otras aplicaciones de oficina.
Con VB, uno puede crear una aplicación de Windows independiente, que no es posible con VBA.
Sin embargo, es posible que los desarrolladores "incrusten" VBA en sus propias aplicaciones, como lenguaje de script para automatizar esas aplicaciones.
Editar : de las preguntas frecuentes de VBA :
Tenga en cuenta que VB.NET es incluso otro idioma, que solo comparte la sintaxis con VB.
fuente
Aquí hay una respuesta más técnica y exhaustiva a una vieja pregunta: Visual Basic para Aplicaciones (VBA) y Visual Basic (pre.NET) no son solo lenguajes similares, son el mismo lenguaje. Específicamente:
En un viejo libro de referencia de VB que encontré el año pasado, el autor (Paul Lomax) incluso afirmó que 'VBA' siempre ha sido el nombre del lenguaje en sí, ya sea que se use en aplicaciones independientes o en contextos integrados (como MS Office ):
Las pequeñas diferencias
Hospedado versus independiente : en términos prácticos, cuando la mayoría de las personas dicen "VBA", significan específicamente "VBA cuando se usa en MS Office", y dicen "VB6" para significar "VBA usado en la última versión del VBA independiente". compilador (es decir, Visual Studio 6) ". El IDE y el compilador incluido con MS Office es casi idéntico a Visual Studio 6, con la limitación de que no permite la compilación de archivos dll o exe independientes. Esto a su vez significa que las clases definidas en los proyectos VBA integrados no son accesibles desde los consumidores COM no integrados, ya que no se pueden registrar.
Desarrollo continuo : Microsoft dejó de producir un compilador de VBA autónomo con Visual Studio 6, ya que cambiaron al tiempo de ejecución de .NET como la plataforma elegida. Sin embargo, el equipo de MS Office continúa manteniendo VBA e incluso lanzó una nueva versión (VBA7) con una nueva VM (ahora llamada VBA7.dll) a partir de MS Office 2010. La única diferencia importante es que VBA7 tiene un 32- y la versión de 64 bits y tiene algunas mejoras para manejar las diferencias entre los dos, específicamente con respecto a las invocaciones de API externas.
fuente
¿Quieres comparar VBA con VB-Classic (VB6 ..) o VB.NET?
VBA (Visual Basic para Aplicaciones) es un lenguaje de script basado en vb-classic integrado en aplicaciones de Microsoft Office. Creo que sus características de lenguaje son similares a las de VB5 (solo carece de algunas funciones integradas), pero:
Tiene acceso al documento de Office para el que escribió el script VBA y, por lo tanto, puede
Ejemplo: establecer el valor de una celda de Excel
VBC y -.NET no son lenguajes de script. Los usa para escribir aplicaciones independientes con IDE independientes que no puede hacer con VBA (los scripts de VBA simplemente "existen" en Office)
VBA no tiene nada que ver con VB.NET (solo tienen una sintaxis similar).
fuente
En realidad, VBA se puede utilizar para compilar archivos DLL. Las ediciones de Office 2000 y Office XP Developer incluyeron un editor VBA que podría usarse para hacer DLL para usar como complementos COM.
Esta funcionalidad se eliminó en versiones posteriores (2003 y 2007) con el advenimiento del software VSTO (VS Tools for Office), aunque obviamente todavía podría crear complementos COM de manera similar sin el uso de VSTO (o VS.Net) por usando VB6 IDE.
fuente
Es VBA. VBA significa Visual Basic para Aplicaciones , y se usa para macros en documentos de Office. No tiene acceso a las funciones de VB.NET, por lo que es más como una versión modificada de VB6, con complementos para poder trabajar en el documento (como Hoja de trabajo en VBA para Excel).
fuente
VB no es un lenguaje . VB es un programa que aloja VBA, al igual que Office aloja VBA. VB es un conjunto de objetos de aplicación, al igual que Word y Excel, y un paquete de formularios, como en Office.
Por lo tanto, solo puede escribir código VBA en VB.
PD: esta información se encuentra en la pestaña INFO en la página de preguntas de VB para VB.
De VBA Info
fuente
VBA significa Visual Basic para aplicaciones y es una implementación de Visual Basic destinada a usarse en Office Suite.
La diferencia entre ellos es que VBA está incrustado dentro de los documentos de Office (es una característica de Office). VB es el ide / lenguaje para desarrollar aplicaciones.
fuente
VB (Visual Basic solo hasta 6.0) es un superconjunto de VBA (Visual Basic para aplicaciones). Sé que otros han eludido esto, pero entiendo que la semántica (es decir, el vocabulario) de VBA está incluida en VB6 (a excepción de los objetos específicos de los productos de Office), por lo tanto, VBA es un subconjunto de VB6. La sintaxis (es decir, el orden en que se escriben las palabras) es exactamente la misma en VBA que en VB6, pero la diferencia es que los objetos disponibles para VBA o VB6 son diferentes porque tienen propósitos diferentes. Específicamente, el propósito de VBA es automatizar mediante programación las tareas que se pueden realizar en MS Office, mientras que el propósito de VB6 es crear EXE estándar, controles ActiveX, ActiveX DLL y ActiveX EXE que pueden funcionar de manera independiente o en otros programas como MS Office o Windows.
fuente