两者的区别是什么?我一直认为VBA是VB的“残缺”版本,但当一个朋友前几天问我,我不知道实际的区别是什么。
另外,当你使用Excel时,你用的是VB还是VBA ?
两者的区别是什么?我一直认为VBA是VB的“残缺”版本,但当一个朋友前几天问我,我不知道实际的区别是什么。
另外,当你使用Excel时,你用的是VB还是VBA ?
当前回答
实际上VBA可以用来编译dll。 Office 2000和Office XP Developer版本包括了一个VBA编辑器,可以用来制作dll作为COM插件使用。
随着VSTO (VS Tools for Office)软件的出现,这个功能在后来的版本(2003年和2007年)中被删除了,尽管很明显,你仍然可以使用VB6 IDE在不使用VSTO(或VS.Net)的情况下以类似的方式创建COM插件。
其他回答
VBA。VBA的意思是Visual Basic for Applications,它用于Office文档中的宏。它不能访问VB。NET特性,所以它更像是一个VB6的修改版本,附加组件能够在文档上工作(就像VBA中的Excel工作表)。
VBA是Visual Basic for Applications的缩写,它是一种用于Office Suite的Visual Basic实现。
它们之间的区别是VBA嵌入在Office文档中(这是Office的一个特性)。VB是开发应用程序的ide/语言。
VBA是Visual Basic for Applications的缩写,所以它是VB的“for Applications”脚本兄弟。 VBA确实可以在Excel中使用,但也可以在其他办公应用中使用。
使用VB,可以创建一个独立的windows应用程序,这是VBA无法做到的。
但是,开发人员可以将VBA“嵌入”到他们自己的应用程序中,作为一种脚本语言来自动化这些应用程序。
编辑:从VBA常见问题:
问:什么是Visual Basic for Applications? A. Microsoft Visual Basic for Applications (VBA)是一个嵌入式编程环境,旨在使开发人员能够使用Microsoft Visual Basic的全部功能构建自定义解决方案。使用承载VBA的应用程序的开发人员可以自动化并扩展应用程序功能,从而缩短自定义业务解决方案的开发周期。
注意VB。NET甚至是另一种语言,它只与VB共享语法。
你想比较VBA与VB-Classic (VB6..)或VB.NET?
VBA (Visual Basic for Applications)是嵌入在Microsoft Office应用程序中的基于vb-classic的脚本语言。我认为它的语言特性与VB5类似(它只是缺少一些内置函数),但是:
您可以访问您为其编写vba脚本的办公文档,因此您可以例如。
编写宏(=用于办公室工作中重复性小任务的自动化例程) 为excel-cell-formula定义新函数 处理办公数据
示例:设置excel-cell的值
ActiveSheet.Cells("A1").Value = "Foo"
VBC和-。NET不是脚本语言。你可以使用它们在独立的IDE中编写独立的应用程序,这是VBA无法做到的(VBA脚本只是“存在”在Office中)
VBA和VB没有任何关系。NET(它们只是有相似的语法)。
对于几乎所有的编程目的,VBA和VB 6.0是一样的东西。
VBA无法将程序编译成可执行二进制文件。你总是需要主机(例如,一个Word文件和MS Word)来包含和执行你的项目。你也不能用VBA创建COM dll。
除此之外,在IDE上还有一个不同之处——相比之下,VB 6.0 IDE更强大。另一方面,您可以在VBA中紧密集成主机应用程序。应用程序全局对象(如“ActiveDocument”)和事件无需声明即可使用,因此特定于应用程序的编程非常简单。
不过,没有什么能阻止你启动Word,加载VBA IDE并解决一个与Word无关的问题。我不确定VB 6.0能做什么(技术上),而VBA不能。不过,我正在寻找MSDN上的比较表。