记录最近在使用wps的VBA时的两个坑点

第一个坑点 是我使用vba自带的shell

如Shell "cmd.exe"

或者 先

set WScript=CreateObject("WScript.Shell")

然后再

WScript.Run("cmd.exe

会提示拒绝的权限。

查了很久,发现是wps有一个沙盒保护模式,需要关闭并重启wps,就能正常了。

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

最近一段时间收到很多客户的反馈,在重启电脑或重启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即可解决。

第二个是VBA会提示VBProject作用于对象_workbook时失败

如果是excel,那么应该去宏----安全性---勾选----信任对于.......

但是wps的选项--信任中心没有这个功能,今天找了很久,终于发现在【开发工具--宏安全性--可靠发行商 中有一个  “”信任对于“visual Basic 项目”的访问】,需要勾选这个,就能正常了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值