【问题标题】:Right click on sheet-tabs disabled in Excel右键单击 Excel 中禁用的工作表选项卡
【发布时间】:2009-01-30 09:14:55
【问题描述】:

我在 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

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

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

是否有“重置”excel的通用vba代码n-p?还是一般的“启用所有菜单”?

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

【问题讨论】:

  • 我在这里遇到了同样的行为。正如@Kablam 所说,在为每个Application.CommandBars 成功运行Enabled = True 后,我恢复了上下文菜单,但是在关闭工作簿后它们又消失了。所以,我想知道这个问题是否真的可以用几行 VBA 代码来解决。有什么建议吗?

标签: vba excel right-click


【解决方案1】:

天哪

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

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

【讨论】:

  • 好的,对你和我们都有好处!现在,请将其标记为正确答案。
【解决方案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

【讨论】:

  • 这个宏为我节省了一天。现在我只需要弄清楚是什么偷走了右键功能!
  • 在过去的几天里,我无法右键单击 Excel 中的工作表选项卡并选择移动或复制。右键菜单没有出现。看起来这可能是一个 VBA 问题,因为 MS 支持人员通过在 VBA 面板中添加一些脚本确实帮助解决了这个问题,但现在它在重新启动系统后又回来了。你如何应用这个? (对不起我的 VBA 文盲)
【解决方案3】:

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

Application.CommandBars("Cell").Enabled = True
Application.CommandBars("Row").Enabled = True
Application.CommandBars("Column").Enabled = True

【讨论】:

  • 欢迎来到 Stack Overflow。感谢您的贡献,但这并不能真正回答问题。您可以在帮助页面How to Answer 中找到有关制作好的答案的建议。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多