Para quase todos os fins de programação, VBA e VB 6.0 são a mesma coisa.
O VBA não pode compilar seu programa em um binário executável. Você sempre precisará do host (um arquivo do Word e o MS Word, por exemplo) para conter e executar seu projeto. Você também não poderá criar DLLs COM com VBA.
Além disso, há uma diferença no IDE - o VB 6.0 IDE é mais poderoso em comparação. Por outro lado, você tem uma forte integração do aplicativo host no VBA. Objetos globais do aplicativo (como "ActiveDocument") e eventos estão disponíveis sem declaração, portanto, a programação específica do aplicativo é direta.
Ainda assim, nada impede que você inicie o Word, carregue o IDE do VBA e resolva um problema que não tem nenhuma relação com o Word. Não tenho certeza se há algo que o VB 6.0 possa fazer (tecnicamente) e o VBA não. Estou procurando uma planilha de comparação no MSDN.
VBA significa Visual Basic for Applications e também é o pequeno irmão de scripts "for applications" do VB. O VBA está realmente disponível no Excel, mas também nos outros aplicativos de escritório.
Com o VB, é possível criar um aplicativo do Windows independente, o que não é possível com o VBA.
No entanto, é possível que os desenvolvedores "incorporem" o VBA em seus próprios aplicativos, como uma linguagem de script para automatizar esses aplicativos.
Editar : nas Perguntas frequentes do VBA :
Observe que o VB.NET é ainda outro idioma, que compartilha apenas sintaxe com o VB.
fonte
Aqui está uma resposta mais técnica e completa a uma pergunta antiga: Visual Basic for Applications (VBA) e Visual Basic (pré-.NET) não são apenas linguagens semelhantes, são a mesma linguagem. Especificamente:
Em um antigo livro de referência do VB que me deparei no ano passado, o autor (Paul Lomax) chegou a afirmar que 'VBA' sempre foi o nome do próprio idioma, seja usado em aplicativos independentes ou em contextos incorporados (como o MS Office ):
As pequenas diferenças
Hospedado vs. Independente : em termos práticos, quando a maioria das pessoas diz "VBA", significa especificamente "VBA quando usado no MS Office" e diz "VB6" como "VBA usado na última versão do VBA autônomo" compilador (ou seja, Visual Studio 6) ". O IDE e o compilador fornecidos com o MS Office são quase idênticos ao Visual Studio 6, com a limitação de que ele não permite a compilação para arquivos dll ou exe independentes. Por sua vez, isso significa que as classes definidas em projetos VBA incorporados não podem ser acessadas de consumidores COM não incorporados, porque não podem ser registradas.
Desenvolvimento contínuo : a Microsoft parou de produzir um compilador VBA independente com o Visual Studio 6, pois eles mudaram para o tempo de execução .NET como a plataforma preferida. No entanto, a equipe do MS Office continua mantendo o VBA e até lançou uma nova versão (VBA7) com uma nova VM (agora denominada VBA7.dll) começando com o MS Office 2010. A única grande diferença é que o VBA7 possui um 32- e versão de 64 bits e possui alguns aprimoramentos para lidar com as diferenças entre os dois, especificamente no que diz respeito às invocações externas da API.
fonte
Deseja comparar o VBA com o VB-Classic (VB6 ..) ou o VB.NET?
O VBA (Visual Basic for Applications) é uma linguagem de script baseada em vb-classic incorporada nos aplicativos do Microsoft Office. Eu acho que os recursos de linguagem são semelhantes aos do VB5 (faltam apenas algumas funções internas), mas:
Você tem acesso ao documento do escritório para o qual escreveu o script VBA e pode, por exemplo,
Exemplo: Defina o valor de uma célula do Excel
VBC e -.NET não são linguagens de script. Você os usa para escrever aplicativos independentes com IDE separado, o que não é possível fazer com o VBA (os scripts VBA simplesmente "existem" no Office)
O VBA não tem nada a ver com o VB.NET (eles apenas têm uma sintaxe semelhante).
fonte
Na verdade, o VBA pode ser usado para compilar DLLs. As edições do Office 2000 e do Office XP Developer incluíam um editor de VBA que poderia ser usado para criar DLLs para uso como suplementos de COM.
Essa funcionalidade foi removida em versões posteriores (2003 e 2007) com o advento do software VSTO (VS Tools for Office), embora obviamente você ainda possa criar suplementos COM de maneira semelhante sem o uso do VSTO (ou VS.Net) por usando o VB6 IDE.
fonte
É VBA. VBA significa Visual Basic for Applications e é usado para macros em documentos do Office. Ele não tem acesso aos recursos do VB.NET, por isso é mais uma versão modificada do VB6, com complementos para poder trabalhar no documento (como Planilha no VBA para Excel).
fonte
VB não é um idioma . O VB é um programa que hospeda o VBA, assim como o Office hospeda o VBA. O VB é um conjunto de objetos de aplicativos, como o Word e o Excel, e um pacote de formulários, como no Office.
Então você só pode escrever código VBA no VB.
PS: essas informações estão na guia INFO na página de perguntas do VB para o VB.
Informações do VBA
fonte
VBA significa Visual Basic for Applications e é uma implementação do Visual Basic destinada a ser usada no Office Suite.
A diferença entre eles é que o VBA é incorporado aos documentos do Office (é um recurso do Office). VB é a ide / linguagem para o desenvolvimento de aplicativos.
fonte
VB (Visual Basic somente até 6.0) é um superconjunto do VBA (Visual Basic for Applications). Sei que outras pessoas escaparam disso, mas meu entendimento é que a semântica (ou seja, o vocabulário) do VBA está incluída no VB6 (exceto para objetos específicos dos produtos do Office); portanto, o VBA é um subconjunto do VB6. A sintaxe (ou seja, a ordem na qual as palavras são escritas) é exatamente a mesma no VBA, como seria no VB6, mas a diferença é que os objetos disponíveis para o VBA ou VB6 são diferentes porque têm finalidades diferentes. O objetivo específico do VBA é automatizar programaticamente as tarefas que podem ser realizadas no MS Office, enquanto o objetivo do VB6 é criar EXE padrão, controles ActiveX, DLLs ActiveX e ActiveX EXEs, que podem funcionar de forma independente ou em outros programas como o MS Office ou Windows.
fonte