龙空技术网

操作Excel,Python根本打不过VBA

阏男秀 3607

前言:

现时朋友们对“vba运行python文件”可能比较珍视,兄弟们都想要学习一些“vba运行python文件”的相关资讯。那么小编同时在网摘上搜集了一些对于“vba运行python文件””的相关知识,希望大家能喜欢,我们快快来学习一下吧!

很开心今天把一个与财务有关的Excel取数计算方面的项目收尾了。

这次项目使用的是Excel VBA语言开发。作为一名Python语言使用者,经历过这次项目开发后,更加坚定了Python根本不可能动摇VBA在Excel的地位的信念。

在项目初期阶段,我有几个方案可以选择。一是使用Python操作Excel,二是使用VBA语言开发。

我作为Python开发者,非常熟悉Python语言在Excel操作方面的局限性,而自身对VBA却一点都不熟悉,如果要在项目中使用VBA,内心还是很忐忑的。但最后,无论是从直觉还是理性思考需求后,最终还是选择VBA开发此项目。为什么?且看我列举。

首先是界面问题。Python语言本身就不带UI界面,需要开发者自己使用第三方扩展包比如Tkinter库或PyQT库,所以如果使用Python开发,虽然Excel里的数据肯定都能获取得到,但如果要实时显示变化的数据可能需要大费工夫设计一个界面;而如果使用VBA则没有这样的问题,因为VBA本身就是以Excel为开发平台的,随着Excel文件走。

其次,是项目发布问题。如果使用Python操作Excel,发布出去之后势必需要部署Python环境,比如需要安装Python,下载Python操作Excel的扩展包比如openpyxl等等。因为这些原因,如果这份工具需要换到另一台电脑上使用,那么就必须要有Python环境。当然把Python一起打包进去也是可以的,但这样一来就造成打包文件过大的问题。而使用VBA的话,因为VBA本身就是随Excel文件走的,所以最后只需要发布一份启用宏的Excel文件即可在别的电脑上使用。

最后是操作方便的问题。如果不使用界面控制,那么可以使用命令行让Python操作Excel,但是如果该项目要发布给非技术人员使用,就不能使用命令行的方式,必须要有一个界面可以给非技术人员进行操作。于是这里不可避免的回到一开始说的界面问题。如果是单纯自己使用还好,每次需要就像执行脚本一样执行一下Python什么的。但是这样的话,VBA也是可以做得到的,只要启用宏。

说完了Python操作Excel的局限性,下面说说Excel VBA。

Excel的官方正统开发语言VBA,开发环境本身就在Excel文件里,只要安装了Excel,不需要再额外安装其他依赖即可使用。只要在Excel界面下按下【Alt+F11】即可打开VBA代码平台编写代码。

Excel VBA本身就自带界面,开发者可以根据需求决定是否开发。如果需要开发界面的话,可以从菜单栏的【查看宏】选项调用,相当于脚本文件;如果需要开发界面,那么就像我这次项目开发的【财务工具】,直接在菜单栏完美嵌入一个菜单,添加几个按钮方便非技术人员使用。

更不用说VBA可以在Excel表格里制作一些下拉菜单和数据校验等功能,甚至还可以给Excel做登录框。而这样的功能,又如何使用Python实现呢?

而近段时间,总是有Python小广告,说”学Python,让你处理表格事半功倍,三小时工作量三分钟完成“,这句话单独看也没说错,但那只是“某些人只给你看到他们想给你看到的”效果。如果真的是为了节省办公工作时间去操作Excel,真的更应该建议学Excel VBA。

标签: #vba运行python文件 #python和vba操作excel #vba phython #python打开excel执行vba代码 #用python打开excel里面的vba