查看: 470  |  回复: 0
  VB6 Office开发,选VSTO,还是VBA,Python行吗?
楼主
发表于 2024年3月23日 23:09

1、Office是基于COM的。

2、所有与Office的开发都是基于其COM接口,VBA也不例外。

3、VB6开发的Office加载项,与C#、Python等开发的加载项,都是二进制的,类似与控件或DLL,可以加载到Office进程空间。

4、VBA图形化了Office的COM接口,是现成货里功能最全的,使用上也最方便,门槛也最低。VBA与VB共享一套内置函数和虚拟机,无需安装额外的开发环境,生人可从录制宏开始,从现象到本质,一路学起来。拖一拖,点一点,比其他工具更容易激发编程兴趣。其他开发工具可以直接借鉴VBA来了解Office的COM接口。

5、VBA真正牛逼的,不是VBE的智能提示,也不是人家通俗易懂的语法,更不是所谓花枝招展的神技能,而是VBE的人机交互。

VBE的解释器,将Windows的人机交互发挥到了极致,至今VS、VIM等编辑器,都只能望其项背。如果不理解Windows的人机交互,就无法理解Linux门下众多伸手党傻吊般的自信,当然更无法理解VBA为啥比很多码手年龄都大,还宝刀未老,说了N遍要被死,就是老不死。

VBA慢?人家慢是有道理的,你使用Office的GUI元素时,后台要处理若干窗口消息之类的不说,人家可是趁热给你翻译源码(人家不是编译,你却拿编译的货跟解释比速度,要脸不),还要随时等你发号施令(暂停,修改,继续,再停,再改...,你VSTO来个?你Python也来个撒?VB6被很多人死硬了,但是人家却可以!因为从4.0,VB就是VBA了,VB的真身是VBA,记住了哈)。

6、VB6只适应32位系统?搞笑,提个线索:64位Office上的VBA使用64位API,改了好多代码?

说VB不行的,是你不晓得咋拿锄头。锄头是啥?锄头就是C。VB就是C在Window上的图形化定制版本。

7、这下晓得了哇,再总结下:

Office加载项,类似于动态加载DLL那样的功能,是二进制的。非VBA要和Office捆绑部署,都要通过加载项模式。

VBA才是Office环境下,正儿八经的开发语言。欢迎关注本号,获取更多VB/VBA/Office高阶开发知识,也可关注其他地方同名号,获取更多不同维度的内容。


您需要登录后才可以回帖 登录 | 立即注册
【本版规则】请勿发表违反国家法律的内容,否则会被冻结账号和删贴。
用户名: 立即注册
密码:
2020-2024 MaNongKu.com