WPS运行VBA代码Shell函数报[运行时错误'5']或[运行时错误'70']的解决方法

会飞的鱼
会飞的鱼

KVP函数专家、创作者俱乐部成员

最近一段时间收到很多客户的反馈,在重启电脑或重启WPS后,之前一直正常运行的程序会报错,报错代码为[运行时错误'5']或[运行时错误'70'],如下图所示。

远程调试程序发现报错的是Shell函数,代码片段如下。

Sub kkkk()

file = ThisWorkbook.Path & "\data.exe"

Shell file

End Sub

Sub kkkk02()

Set wsh = CreateObject("WScript.Shell")

file = ThisWorkbook.Path & "\data.exe"

wsh.Run file

End Sub

问题原因:WPS在新版本新增【沙箱保护】功能,并且默认为开启状态,当用户主动更新或自动升级到新版本时,沙箱保护功能会导致VBA代码中的Shell函数没有权限运行。

解决方法:依次点击【WPS 表格】→【三】→【设置】,关闭【沙箱保护】功能,然后重启WPS即可解决。

辽宁省
浏览 1572
2
6
分享
6 +1
8
2 +1
全部评论 8
 
α
最新版wps的沙箱保护在关闭重启wps后又自动打开了,不知咋回事,楼主能解决一下吗
· 重庆
回复
会飞的鱼
会飞的鱼

KVP函数专家、创作者俱乐部成员

应该是WPS自动升级了,关闭沙箱保护后,把自动升级也关闭
· 辽宁省
回复
 
黎锡捷
找到原因了,被启动的外部exe不能设置成以管理员方式运行
· 辽宁省
回复
菜刀诗人
能具体说说怎么操作吗?这个大哥
· 广东省
回复
 
黎锡捷
我关闭了,也不行
· 辽宁省
回复
 
Ban王涛
你们是真的狗,更新了就默默开启,这么重大的更新没点水花。我在ai、百度、必应找了多少天的答案,又找专业人士,又找淘宝都没解决。干,给我这么多天带了多少麻烦
· 福建省
1
回复
全栈开发
我得 WPS 加载项也是,用着用着,没了。 还不知道是什么情况导致的。
· 安徽省
回复
 
清华学弟任泽岩
清华学弟任泽岩

创作者俱乐部成员

学习吕老师的新文章!
· 辽宁省
回复