【问题标题】:Disable right click menu of shapes禁用形状的右键菜单
【发布时间】:2017-12-26 19:53:06
【问题描述】:

有没有办法禁用形状的右键菜单,例如VBA 中的矩形?

我试过了:

Private Sub Workbook_Open()
'    Application.WindowState = xlMaximized
    Application.DisplayFullScreen = True
    Application.CommandBars("Ply").Enabled = False
    Application.CommandBars("Shapes").Enabled = False
End Sub

但这似乎不起作用。

【问题讨论】:

  • 这个子在哪里?它在您的This Workbook 对象中吗?
  • 是的,它在 ThisWorkbook 对象中.. 其他命令似乎有效!
  • 这很有趣。在这个link 中,看起来他们正在使用Workbook_Activate()。可以试试吗?
  • 不不幸也不起作用

标签: vba excel


【解决方案1】:

右键菜单(又名,上下文菜单不是命令栏

您可能通过旧名称 Toolbars 或新名称 Ribbons 了解命令栏。

虽然您可以capture and/or disable a right-click event on a worksheet,但这不适用于形状之类的对象。

但是,您可以通过保护工作表不被更改(使用或不使用密码)来防止显示上下文菜单。

如有必要,您可以允许用户进行某些更改,但不允许其他更改。更多信息请访问this link

【讨论】:

  • 感谢您的回复 - 但问题是另一方面,我需要能够选择形状并根据 vba 生成它们.. 当我保护工作表时,不再可能..
  • 当您需要通过 VBA 创建或操作形状时,您可以根据需要以编程方式取消保护和重新保护工作表。为什么用户需要能够选择形状?可能有替代方案。
  • hm 是的,你是对的,创建新形状应该不是问题 - 但形状的选择对我的程序至关重要,因为我需要选择各种形状来通过 vba 对齐它们。基本上我用第一个选定形状的值覆盖选定形状的左侧或顶部值..
  • 形状的数量是否有限?如果是这样,也许另一种选择方法会起作用,比如[静态或动态]复选框......?您正在执行的操作的屏幕截图示例可能会有所帮助。
  • ....因为不幸的是,没有内置功能可以仅禁用与形状的某些交互。 (使用 C# 创建自定义插件的简短说明)
【解决方案2】:

我附上了一些我的应用程序的屏幕截图,只是为了描述我想要存档的内容。

问题是菜单在尝试选择多个形状时真的很烦人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-11
    • 1970-01-01
    相关资源
    最近更新 更多