无法使用VBA编辑Excel菜单

我试图在Excel的(2010)function区中创build自己的菜单。

我写了下面的Sub创build一个“testing”菜单,但是我找不到任何证据表明菜单是在Controls集合中列出的以外创build的。

我觉得自己做的一切都是正确的,尤其是我从其他人那里查找了一堆代码示例( 例如 ,这对我也不起作用)。

我想我的问题是双重的,下面的代码是否会在Excel中产生一个新的菜单,如果有的话,为什么会在我的电脑上失败呢?

 Sub CreateInterface() Dim Controls As CommandBarControls Dim CmdBar As CommandBarControl Dim NewMenu As CommandBarControl Set Controls = Application.CommandBars("Worksheet Menu Bar").Controls Set NewMenu = Controls.Add(Type:=msoControlPopup, Temporary:=True, before:=Controls.Count) NewMenu.Caption = "&Test" NewMenu.Visible = True For Each CmdBar In Controls Debug.Print CmdBar.Caption & "|" & CmdBar.Tag Next End Sub 

编辑:

由于我可以看到,代码正在工作,它只是没有在function区中创build一个新的菜单(如默认的(主页,插入,页面布局等))。

据我所知,这应该是创造一个新的菜单,而不是在一个菜单中的项目,我怎样才能真正创build一个新的菜单?

就我所知,旧的(2007年以前的)CommandBars和Controls方式已经过时了,只能将button添加到“加载项”function区选项卡中。 这是为了与旧的Office解决scheme向后兼容,以便它们仍然可以在2007+ Office应用程序中使用(有点)。

前进的方向(如果你打算使用Office 2007及以上)是修改function区本身。 这是一个全新的范例,实时定制是以完全不同的方式完成的,但是如果你掌握了它的话(这并不困难),这是非常有用的。我build议使用谷歌search一些function区教程,并使用“自定义UI编辑器“工具将您的function区代码添加到您的Office文件。 Ron de Bruin的网站永远是获取更多信息的好资源。