Я пытаюсь создать свое собственное меню в ленте Excel (2010).Невозможно редактировать меню Excel с помощью VBA
Я написал следующий Sub, чтобы создать «тестовое» меню, но я не могу найти никаких доказательств того, что меню было создано иначе, чем оно указано в коллекции Controls
.
Мне кажется, что я сделал все правильно, потому что я искал кучу образцов кода (example, это тоже не работает для меня) и от других людей.
Я думаю, мой вопрос двоякий, делает ли код ниже, создавая новое меню в YOUR 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
EDIT:
Благодаря D.O. Я вижу, что код работает, он просто не создает новое меню на ленте (например, по умолчанию («Главная», «Вставка», «Макет страницы» и т. Д.)).
Насколько я знаю, это должно было создать новое меню, а не элемент в одном из меню, как я могу создать новое меню?
Это сработало для меня. У меня есть Excel 2010. –
В этом случае это должно быть связано с настройкой Excel вне моего кода. – sgp667
@ D.O. спасибо за проверку – sgp667