1

我在 ThisWorkbook 模块中使用了这个 vba 代码来禁用 Excel 工作簿中的右键菜单。

Private Sub Workbook_Activate()
   With Application.CommandBars.FindControl(ID:=847)
      .Visible = False
   End With
End Sub

Private Sub Workbook_Deactivate()
   With Application.CommandBars.FindControl(ID:=847)
      .Visible = True
   End With
End Sub

奇迹般有效。
问题是,我现在无法访问任何工作簿中选项卡上的右键菜单。我假设,代码的第二部分应该重新打开它?然而事实并非如此。

即使我完全删除了代码,当我在其中一个选项卡上单击鼠标右键时,没有任何工作簿,甚至是新工作簿都没有菜单。

是否有一个“重置”擅长的一般 vba 代码片段?还是一般的“启用所有菜单”?

修订:此处发布的此代码不会禁用右键菜单,它会从该特定菜单中删除“删除”选项。

4

3 回答 3

4

我的天啊

Application.CommandBars("Ply").Enabled = True

-.-
在最后一次编辑和 BAM 之后开始搜索不同的关键字。

于 2009-01-30T12:05:36.997 回答
2

像往常一样再次迟到,但今天解决了同样的问题。这是恢复右键单击功能的解决方案:

Option Explicit
'
Sub tester()
    '
    Dim cBar As CommandBar
    '
    For Each cBar In CommandBars
        Debug.Print cBar.Name
        If (cBar.Type = msoBarTypePopup) Then cBar.Enabled = True
    Next
End Sub
于 2013-02-20T14:57:54.223 回答
0

另请注意,以下内容也存在。工作中的一些宏在我的 Excel 中全部禁用。

Application.CommandBars("Cell").Enabled = True
Application.CommandBars("Row").Enabled = True
Application.CommandBars("Column").Enabled = True
于 2014-01-15T21:35:25.457 回答