一、EXCLE+VBA 里面的按钮突然用不了了,点击无效,代码正常
之前用得好好的, 突然间用不了, 点击也没反应。
首先检查代码,没有异常,但是奇怪得很是debug也进不了,检查按钮命名什么的都没问题。
我用的是WPS,回忆一下是否之前WPS好像有崩溃过,会出现莫名其妙的错误,我试着把这个工作表复制一份出来,改成之前的名称,把之前的工作表做个备份。竟然点击正常了,可以正常运行代码。确定没问题之后,把之前备份的工作表删除掉。
所以可以试着用这个办法来解决:
复制一份按钮异常所在的工作表,并把之前的工作表重新命名备份起来,复制出来的新工作表取回之前的名称,再点击下试试看, 说不定可以解决呢。
二、WPS + WIN11下, VBA执行shell命令报错
之前一直稳定运行的代码,突然报错,定位到如下代码的
Shell "explorer.exe " & T, vbNormalFocus
看来是执行shell命令的时候,出现问题了
'打开目录,如果终级目录不存在,则打开上一级目录
Function openfiledir(folder As String)
Dim S() As String, i As Long, T As String
S = Split(folder, "\")
T = folder
For i = 1 To UBound(S)
If Dir(T, vbDirectory) <> "" Then
Shell "explorer.exe " & T, vbNormalFocus
Exit Function
End If
T = Left(T, InStrRev(T, "\") - 1)
i = i + 1
Next
End Function
原来是WPS更新一项沙箱保护,如果开启的话,会没有权限来执行shell,最终导致报错。解决办法如下,关闭掉那项即可:
在设置里面
沙箱保护处,关闭开关,重启WPS,再次运行程序即可解除错误。