我使用以下代码阻止用户右键单击Excel工作簿中的选项卡:
application.CommandBars("Ply").Enabled = false
在工作簿的beforeclose事件上,我正在调用另一个包含
的过程application.CommandBars("Ply").Enabled = true
逐步调试帮助我理解命令实际上重新激活了活动工作簿的右键单击,但它不适用于其他工作簿/或应用程序。关闭后,如果我打开另一个没有任何保护的工作簿,则不会启用右键单击选项卡。
有没有人知道如何重新激活所有工作簿的右键单击?
答案 0 :(得分:0)
您可以尝试使用 -
重置命令栏Application.CommandBars("Ply").Reset
因此,如果我理解您正在尝试禁用某个工作簿的右键单击,那么在该工作簿中您应该使用 -
Application.ActiveWorkbook.CommandBars("Ply").Enabled = False
答案 1 :(得分:0)
如果目标是防止用户意外或以其他方式点击标签,最好的解决方案就是隐藏它们。这可以直接完成,也可以通过VBA使用
完成Dim ws As Worksheet
Set ws = ActiveSheet ' Or whatever sheet you want
ws.Visible = false ' and as needed during the execution, you may turn this to true