背景
Win10同时装了WPS2019和Office。
公司不让用office
卸载Office后,运行宏时出现vbe6ext.olb不能被加载。
分析
推测为卸载office时删除了注册表或者某些文件
尝试解决方法
1.软件自行修复
- 调整兼容性
- 自动修复
- 自动修改注册表
无果
2.重装WPS
多次重启、重装均失败
3.更改VB文件位置
路径C:\Program Files (x86)\Common Files\Microsoft Shared\VBA6目录中,把VBE6EXT.OLB放在VBA7.1目录中,再把VBA7.1目录中VBE7.DLL放在目录VBA6中。
参考链接:微软官方
WPS的VBE6EXT.OLB好像在C:\Program Files (x86)\Kingsoft\WPS Office\11.8.2.80531\office6下
个人目录下没有VBA7.1。无疾而终
4.修改注册表
打开注册表目录HKEY_CLASSES_ROOT\TypeLib{0002E157-0000-0000-C000-000000000046}\5.3\0\win32。把默认值设为BE6EXT.OLB的路径,如C:\Program Files (x86)\Common Files\Microsoft Shared\VBA6\BE6EXT.OLB
默认值为空,改为目录后依旧不行。
最终解决方法(重装WPS宏)
- 把C:\Program Files (x86)\Common Files\Microsoft Shared\VBA6删掉,(注意备份)
- 打开WPS发现宏相关的组件消失了
- 打开带宏的文件(.xlsm)
- 按照弹出的提示下载宏:WPS2019_迅雷
- 安装宏
*此时第一步的目录下又出现了一个VBA6,大小与之前删掉的一样。 - 运行宏成功
复盘
- C:\Program Files (x86)\Common Files\Microsoft Shared\VBA6目录为VBA目录,如果没了WPS就不会有相关控件。
- Office的vbe6ext.olb文件在这个目录下,但WPS的在C:\Program Files (x86)\Kingsoft\WPS Office\11.8.2.80531\office6,不知道具体功效。
- 修复后打开注册表默认值变成了Microsoft Visual Basic for Applications Extensibility 5.3
- WPS本体和宏是分开的,故重装WPS并没有解决问题。office遇到同样的问题也可以尝试重装宏。
爷真聪明。