0

我需要使用 VBA 从 Excel 2010 中的右键单击菜单中删除“粘贴选项”。

我能够删除我不需要但无法摆脱“粘贴选项”及其图标儿童。我还从 Excel 文件->选项->高级->剪切复制和粘贴中删除了“粘贴选项”,但这对右键单击“粘贴选项”没有影响。我已经广泛搜索了解决方案,但在网络上的任何地方都找不到对此的参考。

我还检查了 VBA“Locals”窗口中的 CommandBar 对象并查看了所有属性,但看不到“粘贴选项”所在的位置。

先感谢您

4

2 回答 2

3

使用 customui 编辑器,您可以将其添加到 customui14 部分

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
    <commands>
        <command idMso="Paste" enabled="false"/>
        <command idMso="PasteGallery" enabled="false"/>
        <command idMso="PasteGalleryMini" enabled="false"/>
        <command idMso="PasteMenu" enabled="false"/>
        <command idMso="PasteLink" enabled="false"/>
        <command idMso="PasteAsHyperlink" enabled="false"/>
        <command idMso="PasteSpecialDialog" enabled="false"/>
        <command idMso="PasteFormatting" enabled="false"/>
        <command idMso="PasteFormulas" enabled="false"/>
        <command idMso="PasteValues" enabled="false"/>
        <command idMso="PasteFormulasAndNumberFormatting" enabled="false"/>
        <command idMso="PasteTranspose" enabled="false"/>
        <command idMso="PastePictureLink" enabled="false"/>
    </commands>
</customUI>

如果要隐藏控件,则必须为要操作的每个菜单执行此操作。例如单元格菜单

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
    <contextMenus>
        <contextMenu idMso="ContextMenuCell">
            <gallery idMso="PasteGalleryMini" visible="false"/>
        </contextMenu>
    </contextMenus>
</customUI>
于 2013-07-30T16:17:01.377 回答
0

使用 for 循环,这是我的上下文菜单的ComabdBarControl 元素的 ID 和标题:

    身份证标题
    21 切割(&T)
    19(&复制)
    22&粘贴
    21437 粘贴&特殊...
    3624&粘贴表
    25536 智能查找
    32713 数据类型​​(&type)
    33409 翻译
    295 插入单元​​(&E)...
    27690 插入单元​​(&E)...
    292(&D)删除...
    3125 清除内容(&N)
    24508&快速分析
    31623 迷你图(&A)
    31402 过滤器(&E)
    31435 分类(&ort)
    2031 插入评论&评论
    1592 删除评论(&C)
    1593 显示/隐藏评论(&O)
    855 格式化单元格​​(&F)...
    1966 从下拉列表中选择...
    1614(&显示音域)
    13380 定义名称&名称...
    1576​​​​​​​​​​​​...
    1577 编辑超链接(&H)...
    1015(&O) 打开超链接(&O)
    3626 删除超链接​​(&E)
    11299 展开(&X) 详细
    31595 附加动作(&A)
    178全屏​​​​
    22577 其他操作(&A)

所以看起来如果你去掉“粘贴”和“特殊粘贴”,那么所有的粘贴选项都会消失。不完全确定“粘贴表”指的是什么。

    对于 Application.CommandBars("Cell").Controls 中的每个 menuItem
        如果 menuItem.ID = 22 或 menuItem.ID = 21437 那么 menuItem.Delete
    下一个

于 2019-09-24T15:40:57.257 回答