你用的是2007以后的版本就会出现这种情况。
因为2007以后的版本菜单是使用功能区了,在添加菜单时位置和2003不同,所以before的位置参数在这无效。
另所添加的菜单在功能区里是显示在加载项中的,参照我的示例,运行宏main。
Sub tst1(ByVal i As Integer)
Dim customBar As CommandBarPopup
Set customBar = Application.CommandBars("Worksheet Menu Bar").Controls.Add( _
Type:=msoControlPopup, _
Temporary:=True)
customBar.Visible = True
customBar.Caption = "aaaa" & i
End Sub
Sub main()
For i = 1 To 3
tst1 i
Next
End Sub