0

我正在使用以下代码来防止用户右键单击 Excel 工作簿中的选项卡:

application.CommandBars("Ply").Enabled = false

在工作簿的 beforeclose 事件中,我正在调用另一个过程,其中包含

application.CommandBars("Ply").Enabled = true

逐步调试帮助我了解该命令实际上重新激活了活动工作簿的右键单击,但它不适用于其他工作簿/或应用程序。关闭后,如果我打开另一个完全没有保护的工作簿,则不会启用右键单击选项卡。

有谁知道如何为所有工作簿重新激活此右键单击?

4

2 回答 2

0

您可以尝试使用 - 重置命令栏

Application.CommandBars("Ply").Reset

因此,就好像我理解您正在尝试禁用某个工作簿的右键单击,所以在该工作簿中您应该使用 -

Application.ActiveWorkbook.CommandBars("Ply").Enabled = False
于 2014-07-02T21:27:22.830 回答
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
于 2014-07-02T22:08:48.357 回答