网站首页 > 技术文章 正文
很开心今天把一个与财务有关的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。
猜你喜欢
- 2024-12-13 python可视化音乐播放器(pyqt5+多平台下载)
- 2024-12-13 Python打造跨平台音乐播放器音乐无界一网打尽终结音乐付费时代!
- 2024-12-13 抖音上自动给漂亮小姐姐点赞关注评论?Python入门
- 2024-12-13 Python os.path模块:跨平台路径操作的全能助手
- 2024-12-13 Python Toga GUI工具包全面指南,轻松构建跨平台应用!
- 2024-12-13 Python+Requests+Pytest+YAML+Allure实现接口自动化
- 2024-12-13 跨平台 Python GUI 库 wxPython 4.2.0 发布
- 05-25Python 3.14 t-string 要来了,它与 f-string 有何不同?
- 05-25Python基础元素语法总结
- 05-25Python中的变量是什么东西?
- 05-25新手常见的python报错及解决方案
- 05-2511-Python变量
- 05-2510个每个人都是需要知道Python问题
- 05-25Python编程:轻松掌握函数定义、类型及其参数传递方式
- 05-25Python基础语法
- 257℃Python短文,Python中的嵌套条件语句(六)
- 257℃python笔记:for循环嵌套。end=""的作用,图形打印
- 256℃PythonNet:实现Python与.Net代码相互调用!
- 251℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 251℃Python实现字符串小写转大写并写入文件
- 106℃原来2025是完美的平方年,一起探索六种平方的算吧
- 90℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 81℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)