excel - VBA:如何从右键单击上下文菜单中禁用某些选项
问题描述
我需要
1)从“单元格”右键单击上下文菜单中禁用以下所有选项
a. Paste options
b. Insert
c. Delete
d. Format Cell
2)从“列”右键单击上下文菜单中禁用以下所有选项
a. Paste options
b. Insert
c. Delete
d. Clear Content
e. Format Cell
3)从“行”右键单击上下文菜单中禁用以下所有选项
a. Paste options
b. Insert Copied Cells only (Not Insert)
c. Format Cell
4) 禁用“行”右键单击上下文菜单中特定行范围的所有以下选项(例如第 1 到 3 行)
a. Insert
b. Delete
c. Clear Content
5)从“表单控制按钮”右键单击上下文菜单中禁用以下所有选项
a. Format Control
感谢任何帮助
解决方案
这是实现您想要的简单方法。对于它们中的大多数,您可以完全使用您在右键菜单中看到的内容。例如对于Insert
,你看Insert...
。
Application.CommandBars("Cell").Controls("Insert...").Visible = True 'False
对其他人也是如此。我还没有找到禁用方法Paste Options:
或其中的图标。但是,您可以使用上面提到的禁用Paste Special
underPaste Options:
Paste Special...
注意:嗯,这是你最少的问题。请记住,用户仍然可以使用功能区或快捷键来实现您禁用的那些东西;)
编辑
不幸的是对我不起作用。跟表格有关系吗?因为单元格是表格的一部分!– Afshin Davoudy 8 分钟前
是的,你必须使用
Application.CommandBars("List Range Popup").Controls("Delete").Visible = False
前
后
Afshin Davoudy:如何禁用“列”上下文菜单中的选项?还是行?(来自扩展聊天)
利用
Application.CommandBars("Column").Controls("Delete").Visible = False
Application.CommandBars("Row").Controls("Delete").Visible = False
推荐阅读
- mysql - SQL 函数(不在)
- angular - 带有下拉菜单的动态更改 Angular 主题
- c# - 当我正在收听 PictureBox 的 Resize 事件并为 PictureBox 提供新图像时,它不会调整大小
- asp.net - 如何防止存储的 XSS 来自 javascript 和 html 注入
- javascript - 引导新的 Strapi 角色权限
- c# - ToolWindow 似乎不尊重 AppBar
- java - java中后序图遍历的迭代版本
- ios - 为什么我的 WKWebView 的故事板表示看起来与在模拟器上运行的不同?
- reactjs - 如何在 React 中使用 useState Hook 调用 Parent 函数?
- python - 如何在单独的行中将python的输出写入文本文件?