在单元格内编辑时,Excel VBA删除右键单击“粘贴选项”菜单组

时间:2013-07-30 08:23:33

标签: excel vba excel-vba commandbar

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

我能够删除所有不需要的“正常”控制项(例如“Cu& t”,“& Copy”,“Paste& Special ...”等),但我不能摆脱'粘贴选项'及其图标儿童。我还从Excel文件中删除了“粘贴选项” - >选项 - >高级 - >切割复制和粘贴,但这对右键单击“粘贴选项”没有影响。我已经广泛搜索了一个解决方案,但在网上的任何地方都找不到这个参考。

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

提前谢谢

2 个答案:

答案 0 :(得分:2)

使用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>

答案 1 :(得分:0)

使用for循环,这是上下文菜单CommabdBarControl elements的ID和标题:


    ID      Caption
    21      Cu&t
    19      &Copy
    22      &Paste
    21437   Paste &Special...
    3624    &Paste Table
    25536   Smart &Lookup
    32713   Data T&ype
    33409   Translate
    295     Insert C&ells...
    27690   Insert C&ells...
    292     &Delete...
    3125    Clear Co&ntents
    24508   &Quick Analysis
    31623   Sp&arklines
    31402   Filt&er
    31435   S&ort
    2031    Insert Co&mment
    1592    Delete Co&mment
    1593    Sh&ow/Hide Comments
    855     &Format Cells...
    1966    Pic&k From Drop-down List...
    1614    &Show Phonetic Field
    13380   Define N&ame...
    1576    &Hyperlink...
    1577    Edit &Hyperlink...
    1015    &Open Hyperlink
    3626    &Remove Hyperlink
    11299   E&xpand to detail
    31595   Additional Act&ions
    178     F&ull Screen
    22577   &Additional Actions

因此,如果您摆脱了“粘贴”和“特殊粘贴”,那么所有粘贴选项都将消失。不确定“粘贴表”是指什么。


    For Each menuItem In Application.CommandBars("Cell").Controls
        If menuItem.ID = 22 or menuItem.ID = 21437 Then menuItem.Delete
    Next