Excel VBA-如何在所有工作簿上使用右键单击上下文菜单?

Excel VBA-如何在所有工作簿上使用右键单击上下文菜单?,excel,vba,Excel,Vba,必须在工作表中设置上下文菜单。是否有办法将其放在personal.XLSB工作簿中,以便无论打开的工作簿是什么,都能以某种方式添加一个永久的附加右键单击菜单 我的最终目标: 拥有多台个人电脑。XLSB引用带有标准右键单击菜单选项的工作簿,以便我可以将此功能添加到数十台电脑。您可以在外接程序中添加以下“代码” <contextMenus> <contextMenu idMso="ContextMenuListRange"> <menu id

必须在工作表中设置上下文菜单。是否有办法将其放在personal.XLSB工作簿中,以便无论打开的工作簿是什么,都能以某种方式添加一个永久的附加右键单击菜单

我的最终目标:
拥有多台个人电脑。XLSB引用带有标准右键单击菜单选项的工作簿,以便我可以将此功能添加到数十台电脑。

您可以在外接程序中添加以下“代码”

<contextMenus> 
    <contextMenu idMso="ContextMenuListRange"> 
        <menu idMso="WindowSwitchWindowsMenuExcel" insertBeforeMso="Cut" />     
        <button idMso="VisualBasic" insertBeforeMso="Cut" />
    </contextMenu>
</contextMenus> 

我找到了一些解决方法,我想

我有一个主xlsm文件,其中有创建和删除上下文菜单的所有子例程

那就说我有。。。
此文件
该文件
另一个文件 我想使用与Master相同的上下文菜单

在每一个文档中,我都将以下内容添加到工作簿\u Open中:

Application.Run "Master.xlsm!AddContextMenuEntries"
您需要将Master打开以使其工作(如果需要,这只是另一行代码)

但是现在,如果我在Master中编辑/更改/更新上下文菜单,当我重新打开它们时,它们将对所有其他文件可用


希望有帮助。

将代码添加到个人工作簿
工作簿\u Open
事件。或者创建一个外接程序,让人们从它的位置运行它,而不是将它复制到自己的文件夹中。据我所知,必须在工作表中设置上下文菜单,因此只在工作簿\u Open中添加宏没有任何作用。