㈠ vba和python哪个实用
纯办公来说的话,vba更实用,VBA是Office系列自带的宏语言,与Python、VSTO和RPA最大的优势就是不需要单独安装IDE(集成开发环境),可以直接在Excel中编写。VBA比较适合非IT专业的人员入门编程,除了不需要单独装IDE以外,VBA在调试的过程中是可以一边调试一边修改代码的,虽然只能改断点之后的代码,但是在日常学习中也已经比较方便了。
Python的优势是类库比较丰富,语法很简洁。ython能做的有很多,工作中对数据的处理,都可以脱离Excel用Python来做。基本上除了Excel插件之外,都可以用Python来处理。
(1)VBA能编译工程吗扩展阅读
VBA是基于 Visual basic发展而来的,与VB具有相似的语言结构。从语言结构上讲,VBA是VB的一个子集,它们的语法结构是一样的。两者的开发环境也几乎相同。但是,VB是独立的开发工具,它不需要依附于任何其他应用程序,它有自己完全独立的工作环境和编译、链接系统。
VBA却没有自己独立的工作环境,它必须依附于某一个主应用程序,VBA专门用于Office的各应用程序中,如Word、 Excel、 Access等。在 Access中,可以通过VBA编写模块来满足特定的需要。
㈡ vb和vba有什么区别
1、从语法上来说:两者近乎完全相同
2、从编辑工具上来说:
VBA 的编辑工具相对落伍一点,VB 的编辑工具则更智能一些
3、从使用方法上来说:
VBA 需要在应用程序内运行,拿Excel来说,你必须打开一个Excel文档,然后才能执行文档里的VBA代码;VB 则不需要,你可以生产自己的exe文件去执行
4、从功能上说:
VBA 是针对某个特定的应磨蔽和用开发的特定语言,如果想要对某个特定的应用执行大量的,复杂的自动化操作,那么VBA就非常合适,因为应用里的绝大部分功能都可以通过VBA来操作;
VB 相对于VBA来说,去操控某一个特定的应用就没有相应的VBA灵巧,所以更适用于去完成一些不需要与其他应用有太多交互的任务
(2)VBA能编译工程吗扩展阅读:
VBA程序员很多是业余程序员,正因为业余,解决的却是工作中需瞎盯要解决的问题;所以,VBA程序大多都是只是在部门内部或个人使用的小工具。集成了VBA的其他应用程序也很多,但真正能为程序增色的不多。
参考资料来源:
网络并蠢-VBA
㈢ Office VBA编辑器中“调试 > 编译VBAProject”有什么用该怎么用
该功能预编译当前 VBA 工程中所有的代码,如有代码出错则会编译不通过并弹出错误提示对话框,反之则如你所说没有任何反应。
每次写完一个小功能的时候可以通过点击编译来检查潜在的代码问题,这样可以确保代码能够在运行前不会报错,同时也方便排错!
㈣ EXCEL中的VBA程序能编译成exe吗
可以肯定是可以的,但是伴随一个问题就是你需要将代码中那些引用excel的对象全部都指定好位置
㈤ 什么是vba
Visual Basic for Applications(简称VBA)是新一代标准宏语言,是基于Visual Basic for Windows 发展而来的。它与传统的宏语言不同,传统的宏语言不具有高级语言的特征,没有面向对象的程序设计概念和方法。而VBA 提供了面向对象的程序设计方法,提供了相当完整的程序设计语言。VBA 易于学习掌握,可以使用宏记录器记录用户的各种操作并将其转换为VBA 程序代码。这样用户可以容易地将日常工作转换为VBA 程序代码,使工作自动化。 [1]
VBA是基于 Visual basic发展而来的,与VB具有相似的语言结构。从语言结构上讲,VBA是VB的一个子集,它们的语法结构是一样的。两者的开发环境也几乎相同。但是,VB是独立的开发工具,它不需要依附于任何其他应用程序,它有自己完全独立的工作环境和编译、链接系统。VBA却没有自己独立的工作环境,它必须依附于某一个主应用程序,VBA专门用于Office的各应用程序中,如Word、 Excel、 Access等。在 Access中,可以通过VBA编写模块来满足特定的需要。 [1]
正是由于VBA与主应用程序的这种关系,使得它与主程序之间的通信变得简单而高效。它与 AutoCAD完全共享内存空间,所以执行速度比用C语言开发的ADS应用程序要快很多。 [2]
VBA提供了面向对象的程序设计方法,提供了相当完整的程序设计语言。它的编写是以子过程和函数为单位,在 Access中以模块形式出现。 [1]
Office取得巨大成功的一个重要原因就是VBA,使用VBA可以完成很多事情,基于Excel、Word的VBA小程序不计其数。Office中的应用程序可以共享VBA语言,如果掌握了在 Excel 2016中使用VBA的方法,那么在Word、Power Point中使用VBA自然会变得易如反掌。掌握对VBA语言的使用,可以让复杂的工作简易化,减少不必要的重复性工作,大大提高我们的工作效率。 [3]
VBA程序员很多是业余程序员,正因为业余,解决的却是工作中需要解决的问题;所以,VBA程序大多都是只是在部门内部或个人使用的小工具。集成了VBA的其他应用程序也很多,但真正能为程序增色的不多。 [1]
大多数人看到了VBA可以自动化一个程序,可以扩展已有程序,但没有看到在Office中,VBA代码可以是录制的,而不是写出来的,带来的好处是,学习曲线变得非常缓。如果没有宏录制功能,要熟悉某个Office组件的对象模型,绝非一日之功。 [1]
以ArcGIS为例,ArcGIS扩展必须使用ArcObject,不管是使用VBA也罢,VB也罢,还是C++也罢。但同时,ArcObject的学习不是一天两天可以搞定,对于业余程序员,要使用VBA来扩展ArcGIS,几乎没有可能;专业程序员又不屑使用VBA;而对于公司,如果要基于ArcObject来扩展ArcGIS,选择VBA意味着源码的保护很困难。所以,ArcGIS的VBA就如同鸡肋。 [1]
VB 与VBA
VBA 是基于Visual Basic 发展而来的,它们具有相似的语言结构。Visual Basic 是Microsoft 的主要图形界面开发工具,VBA 5.0 (亦即VBA 97)则是Visual Basic 5.0 的子集。Visual Basic 是由Basic 发展而来的第四代语言。Visual Basic 作为一套独立的 Windows 系统开发工具,可用于开发Windows 环境下的各类应用程序,是一种可视化的、面向对象的、采用事件驱动方式的结构化高级程序设计语言。它具有高效率、简单易学及功能强大的特点。VB 的程序语言简单、便捷,利用其事件驱动的编程机制,新颖易用的可视化设计工具,并使用Windows应用程序接口(API)函数,采用动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)以及开放式数据库访问(ODBC)等技术,可以高效、快速地编制出 Windows 环境下功能强大、图形界面丰富的应用软件系统。 [1]
Visual Basic 程序很大一部分以可视(Visual)形式实现,这意味着在设计阶段就可以看到程序运行的屏幕画面,用户可以在设计时能够方便地改动画面图像、大小、颜色等,直到满意为止。VB 的用户可以是缺乏Windows 及C 语言开发经验的专业软件人员,也可以是具有一定Windows开发经验的专业人员,VB 的可视化编程方法使得原来繁琐枯燥、令人生畏的Windows 应用程序设计变得轻松自如、妙趣横生。以往的Windows 应用程序开发工具在设计图形用户界面时,都是采用编程的方法,并伴随大量的计算任务,一个大型应用程序约有90%的程序代码用来处理用户界面,而且在程序设计过程中不能看到界面显示的效果,只有在程序执行时才能观察到,如果界面效果不佳,还需要回到程序中去修改。Visual Basic 提供了新颖的可视化设计工具,巧妙地将Windows界面设计的复杂性封装起来,程序开发人员不必再为界面设计而编写大量程序代码,仅需采用现有工具按设计者要求的布局,在屏幕上画出所需界面,并为各图形对象设置属性即可,VB 自动产生界面设计代码,这样便将事先编制好的控件可视地连接到一起,构成一个随时可调整的界面。 [1]
VBA 不但继承了VB 的开发机制,而且VBA 还具有与VB 相似的语言结构,它们的集成开发环境IDE(Intergrated Development Environment)也几乎相同。但是,经过优化,VBA 专门用于Office 的各应用程序。VB 可运行直接来自Windows 95 或NT 桌面上的应用程序,而VBA 的项目(Project)仅由使用VBA 的Excel、Word、 PowerPoint 等称为宿主(Host)的Office 应用程序(Application)来调用。 [1]
区别
1. VB是设计用于创建标准的应用程序,而VBA是使已有的应用程序(EXCEL等)自动化。 [3]
2. VB具有自己的开发环境,而VBA必须寄生于已有的应用程序。 [3]
3. 要运行VB开发的应用程序,用户不必安装VB,因为VB开发出的应用程序是可执行文件(*.EXE),而VBA开发的程序必须依赖于它的父应用程序,例如EXCEL。 [3]
4.VBA是VB的一个子集。 [3]
尽管存在这些不同,VBA和VB在结构上仍然十分相似。事实上,如果你已经了解了VB,会发现学习VBA非常快。相应的,学完VBA会给学习VB打下坚实的基础。而且,当学会在EXCEL中用VBA创建解决方案后,即已具备在WORD ACCESS OUTLOOK FOXPRO POWERPOINT 中用VBA创建解决方案的大部分知识。 [3]
* VBA一个关键特征是你所学的知识在微软的一些产品中可以相互转化。 [3]
* VBA可以称作EXCEL的“遥控器”。 [3]