Pour presque toutes les fins de programmation, VBA et VB 6.0 sont la même chose.
VBA ne peut pas compiler votre programme dans un binaire exécutable. Vous aurez toujours besoin de l'hôte (un fichier Word et MS Word, par exemple) pour contenir et exécuter votre projet. Vous ne pourrez pas non plus créer de DLL COM avec VBA.
En dehors de cela, il y a une différence dans l'IDE - l'IDE VB 6.0 est plus puissant en comparaison. D'un autre côté, vous avez une intégration étroite de l'application hôte dans VBA. Les objets d'application globale (comme "ActiveDocument") et les événements sont disponibles sans déclaration, la programmation spécifique à l'application est donc simple.
Pourtant, rien ne vous empêche de lancer Word, de charger l'IDE VBA et de résoudre un problème qui n'a aucun rapport avec Word. Je ne sais pas s'il y a quelque chose que VB 6.0 peut faire (techniquement), et VBA ne peut pas. Je cherche cependant une feuille de comparaison sur le MSDN.
VBA signifie Visual Basic pour Applications , tout comme le petit frère de script "pour les applications" de VB. VBA est en effet disponible dans Excel, mais aussi dans les autres applications bureautiques.
Avec VB, on peut créer une application Windows autonome, ce qui n'est pas possible avec VBA.
Il est cependant possible pour les développeurs d '"intégrer" VBA dans leurs propres applications, en tant que langage de script pour automatiser ces applications.
Modifier : De la FAQ VBA :
Notez que VB.NET est même un autre langage, qui partage uniquement la syntaxe avec VB.
la source
Voici une réponse plus technique et approfondie à une vieille question: Visual Basic pour Applications (VBA) et Visual Basic (pre-.NET) ne sont pas seulement des langages similaires, ils sont le même langage. Plus précisément:
Dans un vieux livre de référence VB que j'ai rencontré l'année dernière, l'auteur (Paul Lomax) a même affirmé que `` VBA '' a toujours été le nom du langage lui-même, qu'il soit utilisé dans des applications autonomes ou dans des contextes intégrés (tels que MS Office ):
Les différences mineures
Hébergé vs autonome : Concrètement, lorsque la plupart des gens disent "VBA", ils signifient spécifiquement "VBA lorsqu'il est utilisé dans MS Office", et ils disent "VB6" pour signifier "VBA utilisé dans la dernière version du VBA autonome compilateur (ie Visual Studio 6) ". L'IDE et le compilateur fournis avec MS Office sont presque identiques à Visual Studio 6, avec la limitation qu'il ne permet pas la compilation vers des fichiers dll ou exe autonomes. Cela signifie à son tour que les classes définies dans les projets VBA intégrés ne sont pas accessibles à partir de consommateurs COM non intégrés, car ils ne peuvent pas être enregistrés.
Poursuite du développement : Microsoft a cessé de produire un compilateur VBA autonome avec Visual Studio 6, alors qu'ils passaient au runtime .NET comme plate-forme de choix. Cependant, l'équipe MS Office continue de maintenir VBA, et a même publié une nouvelle version (VBA7) avec une nouvelle machine virtuelle (maintenant appelée VBA7.dll) à partir de MS Office 2010. La seule différence majeure est que VBA7 possède à la fois un 32- et la version 64 bits et a quelques améliorations pour gérer les différences entre les deux, en particulier en ce qui concerne les appels d'API externes.
la source
Voulez-vous comparer VBA avec VB-Classic (VB6 ..) ou VB.NET?
VBA (Visual Basic pour Applications) est un langage de script basé sur vb-classic intégré dans les applications Microsoft Office. Je pense que ses fonctionnalités linguistiques sont similaires à celles de VB5 (il manque juste quelques fonctions intégrées), mais:
Vous avez accès au document de bureau pour lequel vous avez écrit le script VBA et vous pouvez par exemple
Exemple: définir la valeur d'une cellule Excel
VBC et -.NET ne sont pas des langages de script. Vous les utilisez pour écrire des applications autonomes avec des IDE distincts que vous ne pouvez pas faire avec VBA (les scripts VBA "existent" simplement dans Office)
VBA n'a rien à voir avec VB.NET (ils ont juste une syntaxe similaire).
la source
En fait, VBA peut être utilisé pour compiler des DLL. Les éditions Office 2000 et Office XP Developer comprenaient un éditeur VBA qui pouvait être utilisé pour créer des DLL à utiliser en tant que compléments COM.
Cette fonctionnalité a été supprimée dans les versions ultérieures (2003 et 2007) avec l'avènement du logiciel VSTO (VS Tools for Office), bien que vous puissiez évidemment créer des compléments COM de manière similaire sans utiliser VSTO (ou VS.Net) par en utilisant VB6 IDE.
la source
C'est VBA. VBA signifie Visual Basic pour Applications et il est utilisé pour les macros sur les documents Office. Il n'a pas accès aux fonctionnalités de VB.NET, il ressemble donc plus à une version modifiée de VB6, avec des modules complémentaires pour pouvoir travailler sur le document (comme la feuille de calcul dans VBA pour Excel).
la source
VB n'est pas une langue . VB est un programme qui héberge VBA, tout comme Office héberge VBA. VB est un ensemble d'objets App, tout comme Word et Excel, et un package de formulaires, tout comme dans Office.
Vous ne pouvez donc écrire que du code VBA en VB.
PS cette information est sur l' onglet INFO sur la page de questions VB pour VB.
De VBA Info
la source
VBA signifie Visual Basic For Applications et son implémentation Visual Basic destinée à être utilisée dans la suite Office.
La différence entre eux est que VBA est intégré dans les documents Office (c'est une fonctionnalité Office). VB est l'idé / langage pour développer des applications.
la source
VB (Visual Basic uniquement jusqu'à 6.0) est un sur-ensemble de VBA (Visual Basic pour Applications). Je sais que d'autres y ont en quelque sorte échappé, mais je crois comprendre que la sémantique (c'est-à-dire le vocabulaire) de VBA est incluse dans VB6 (à l'exception des objets spécifiques aux produits Office), par conséquent, VBA est un sous-ensemble de VB6. La syntaxe (c'est-à-dire l'ordre dans lequel les mots sont écrits) est exactement la même dans VBA que dans VB6, mais la différence est que les objets disponibles pour VBA ou VB6 sont différents car ils ont des objectifs différents. Plus précisément, le but de VBA est d'automatiser par programmation les tâches qui peuvent être effectuées dans MS Office, tandis que le but de VB6 est de créer des EXE standard, des contrôles ActiveX, des DLL ActiveX et des EXE ActiveX qui peuvent fonctionner de manière autonome ou dans d'autres programmes tels que MS Office ou Windows.
la source