热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

WPS执行VBA程序后的影响

作者:iamlaosong我开发的Excel工具在下发到下属部门使用的过程中发现,低版本WPS不能执行所有的VBA代码,高版本也存在很多功能不能用(比如使用VBA连接数据库时,SQL语句的

作者:iamlaosong

我开发的Excel工具在下发到下属部门使用的过程中发现,低版本WPS不能执行所有的VBA代码,高版本也存在很多功能不能用(比如使用VBA连接数据库时,SQL语句的查询结果rst可以用Cells(row1, col1).CopyFromRecordset rst语句整体导入Excel表格,但如果分开引用其字段值rst(0),rst(1)等则不行),有些写法也不认同报错,这时,我会建议他们安装Excel应用软件,他们在安装完Excel之前,往往会删除WPS,结果导致Excel安装后执行VBA程序时会报错,提示如下图所示:


这个结果让我莫名其妙,在我这边正常的程序为啥到他那儿就报错呢?

通过QQ的远程控制,进入代码中调试,才找到错误原因,原来,安装了WPS的机器会自动引用金山的插件,卸载了WPS后,因为找不到这个插件而报错,只要把这个引用前的勾选去掉,就正常了,如下图所示:


这个错误是office2007版报的,我没有验证,但猜测这个错误2003版不是这样报的,依稀记得以前也发现过这样的错误,报的是“找不到工程或库”,所以碰到莫名的错误都可以到引用里面看看,是否存在异常现象。

后来还发现即使在WPS中成功执行的VBA程序,也会增加上述引用,这个文件如果保存后再拿到Excel上使用,也会报出同样的错误。

还有一点需要说明的是这些引用都是跟着文件走的,和Excel环境没关系,所以最简单的办法是重新下发一个工具,问题也就没有了,以前估计也碰到过类似问题,没有深究,都通过重新下发文件解决了,这一次也是好奇,想看看到底什么原因,结果真的发现了原因所在。



推荐阅读
author-avatar
王慧1019
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有