VB与VBA有什么区别?

如题所述

转自百度百科
--------------------------------
VBA
Visual Basic for Applications(VBA)是一种Visual Basic的一种宏语言,主要能用来扩展Windows的应用程式功能,特别是Microsoft Office软件。也可说是一种应用程式视觉化的Basic Script。1994年发行的Excel 5.0版本中,即具备了VBA的宏功能。

VBA是什么
  直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用EXCEL的宏语言来使EXCEL自动化,使用WORD BASIC使WORD自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA),可以认为VBA是非常流行的应用程序开发语言VISUAL BASIC 的子集.实际上VBA是寄生于VB应用程序的版本. VBA6

VBA和VB的区别包括如下几个方面:
  1. VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(EXCEL等)自动化   2. VB具有自己的开发环境,而VBA必须寄生于已有的应用程序.   3. 要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(*.EXE),而VBA开发的程序必须依赖于它的父应用程序,例如EXCEL.   尽管存在这些不同,VBA和VB在结构上仍然十分相似.事实上,如果你已经了解了VB,会发现学习VBA非常快.相应的,学完VBA会给学习VB打下坚实的基础.而且,当学会在EXCEL中用VBA创建解决方案后,即已具备在WORD ACCESS OUTLOOK FOXPRO PROWERPOINT 中用VBA创建解决方案的大部分知识.   * VBA一个关键特征是你所学的知识在微软的一些产品中可以相互转化.   * VBA可以称作EXCEL的“遥控器”.   VBA究竟是什么?更确切地讲,它是一种自动化语言,它可以使常用的程序自动化,可以创建自定义的解决方案.   此外,如果你愿意,还可以将EXCEL用做开发平台实现应用程序.   Office取得巨大成功的一个重要原因就是VBA,使用VBA可以完成很多事情,基于Excel、Word的VBA小程序不计其数。   VBA程序员很多是业余程序员,正因为业余,解决的却是工作中需要解决的问题;所以,VBA程序大多都是只是在部门内部或个人使用的小工具。   集成了VBA的其他应用程序也很多,但真正能为程序增色的不多。   大多数人看到了VBA可以自动化一个程序,可以扩展已有程序,但没有看到在Office中,VBA代码可以是录制的,而不是写出来的,带来的好处是,学习曲线变得非常缓。如果没有宏录制功能,要熟悉某个Office组件的对象模型,绝非一日之功。   以ArcGIS为例,ArcGIS扩展必须使用ArcObject,不管是使用VBA也罢,VB也罢,还是C++也罢。但同时,ArcObject的学习不是一天两天可以搞定,对于业余程序员,要使用VBA来扩展ArcGIS,几乎没有可能;专业程序员又不屑使用VBA;而对于公司,如果要基于ArcObject来扩展ArcGIS,选择VBA意味着源码的保护很困难。所以,ArcGIS的VBA就如同鸡肋。   不过,学习AO的时候,使用VBA比使用其他语言要容易一些,写几行代码,然后直接运行测试结果,这种交互式的学习应该是最好的学习方法。   ArcGIS以及AO与Office相比,还有一个很大的差别,就是ArcGIS缺乏中等粒度的对象,例如Word和Excel的Range对象。对于Office开发,可以在对底层小粒度对象一无所知的状况下做很多事情,这就是抽象的力量。常人可以处理的复杂度是有限的,面对数十个对象和几百个对象,后者需要付出的努力不是10倍,而是数十倍或更多,因为在学习过程中,必须可以把这些对象在大脑中很好的组织,以控制其复杂度。   
Visual Basic for Applications(简称VBA)是新一代标准宏语言,是基于Visual Basic for Windows 发展而来的。它与传统的宏语言不同,传统的宏语言不具有高级语言的特征,没有面向对象的程序设计概念和方法。而VBA 提供了面向对象的程序设计方法,提供了相当完整的程序设计语言。VBA 易于学习掌握,可以使用宏记录器记录用户的各种操作并将其转换为VBA 程序代码。这样用户可以容易地将日常工作转换为VBA 程序代码,使工作自动化。因此,对于在工作中需要经常使用Office 套装软件的用户,学用VBA 有助于使工作自动化,提高工作效率。另外,由于VBA 可以直接应用Office 套装软件的各项强大功能,所以对于程序设计人员的程序设计和开发更加方便快捷。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-02-19
VBA是VB的精简版
第2个回答  推荐于2018-06-05
VBA是VB的一个子集,也可以讲是VB的简化版。
1.VB的应用程序编译后可以在系统下直接运行,VBA不行必须在office下运行。
2.VBA统计学中的曲线图有现成的“宏”编程序比较方便,但没有个性化,修改比较麻烦。
VB画图功能非常强大什么都能画,但编程序比较麻烦。
3.VBA统计学中的计算程序有现成的“宏”使用方便,如数字排序,而VB必须编程序(冒泡法), VBA可以用“宏”,也可以编程序等。
4. 通用大程序一般用VB,自己用比较小的专业程序一般用VBA比较容易。本回答被网友采纳

vba和vb一样吗?
一、主体不同 1、VB:是Microsoft公司开发的一种通用的基于对象的程序设计语言。2、VBA:是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。二、语言特点不同 1、VB:结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。2、...

EXCEL中自带的VBA和VB有什么区别?
一、性质不同 1、VBA:VBA是VB的一个子集,是使已有的应用程序(EXCEL)自动化。2、VB:VB是设计用于创建应用程序(EXCEL)标准的应用程序。二、运行依赖性不同 1、VBA:运行VBA开发的程序必须依赖于它的父应用程序。2、VB:运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件。

vb和vba有什么区别?
1、从语法上来说:两者近乎完全相同 2、从编辑工具上来说:VBA 的编辑工具相对落伍一点,VB 的编辑工具则更智能一些 3、从使用方法上来说:VBA 需要在应用程序内运行,拿Excel来说,你必须打开一个Excel文档,然后才能执行文档里的VBA代码;VB 则不需要,你可以生产自己的exe文件去执行 4、从功能上...

VBA和VB一样吗
不一样。两者语法基本是一样的,但是VBA是微软放在Office等软件中的,用于帮助Office处理东西,简化操作用(例如可以用VBA编写Excel批量处理);而VB则是面向所有程序的

EXCEL中自带的VBA和VB有什么区别?
总体来说,VBA是针对Excel等特定应用程序的编程语言,而VB则是一种更通用、更强大的程序设计语言。它们在语法和功能上有很多相似之处,但VBA更加专注于办公自动化,而VB则更多地用于创建复杂的桌面应用程序。对于Excel用户来说,学习VBA可以帮助他们更好地定制和自动化Excel的功能,提高工作效率。

我想问问vb和vba的区别
VB是一门独立的编程语言,全称VisualBasic,VBA全称为VisualBasicforApplications,VBA是VB语言的子集,主要用于OFFICE办公软件、CAD中编写代码用于控制宿主程序实现办公自动化。VB编写的代码在操作系统中可以独立运行(需要运行库支持),但是VBA不能独立运行,需要宿主程序的支持,如前所述的OFFICE软件和CAD等。...

VBA和VB有什么区别
VBA是Visual Basic的一个子集,也可以看作是VB的简化版本。VB编写的程序在系统下可以直接运行,而VBA则需要在Office环境下才能运行。在统计学应用中,VBA中曲线图有现成的“宏”程序,使用较为方便,但这些宏程序通常缺乏个性化,修改起来较为复杂。相比之下,VB的绘图功能非常强大,几乎可以画出任何图形...

Excelvba是什么
它们具有相似的语言结构。VBA与VB的区别如下:1、VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序自动化;2、VB具有自己的开发环境,VBA必须寄生于已有的应用程序;3、要运行VB开发的应用程序,用户不必安装VB,VB开发出的应用程序是可执行文件。VBA开发的程序必须依赖于它的父应用程序。

VB与VBA有什么区别?
VBA是VB的一个子集,也可以讲是VB的简化版。1.VB的应用程序编译后可以在系统下直接运行,VBA不行必须在office下运行。2.VBA统计学中的曲线图有现成的“宏”编程序比较方便,但没有个性化,修改比较麻烦。VB画图功能非常强大什么都能画,但编程序比较麻烦。3.VBA统计学中的计算程序有现成的“宏”使用...

VBA 和VB 相同之处和区别
VBA和VB的区别包括如下几个方面:1、VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(如EXCEL等)自动化 2、 VB具有自己的开发环境,而VBA必须寄生于已有的应用程序.3、要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(*.EXE),而VBA开发的程序必须依赖于它的"父"...

相似回答