powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Добавление нового элемента меню в существующее меню в Excel
6 сообщений из 6, страница 1 из 1
Добавление нового элемента меню в существующее меню в Excel
    #33946026
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как сделать это программно? Мне нужно добавить свой элемент в меню "Формат" и сделать его выпадающим, чтобы еще 2 меню появлялось.

...
Рейтинг: 0 / 0
Добавление нового элемента меню в существующее меню в Excel
    #33946136
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Добавление нового элемента меню в существующее меню в Excel
    #33946217
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkodorзащита листа
Скопировал код в модули. Но выполнение процедуры myAdd() почему-то не добавляет пункты меню ни в меню, ни в контекстное меню. Или добавляет, но я не там ищу. И с ID\'ами я чего-то ничего не пойму.

vkodor
(VBA Excel) Изменить пункт меню в CommandBar.
А здесь, походу, создается новое меню, а мне нужно в существующее добавить.
...
Рейтинг: 0 / 0
Добавление нового элемента меню в существующее меню в Excel
    #33946297
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Sub myAdd()
    Dim a As Integer, b As Integer
    With Application.CommandBars( 1 )
        a = .FindControl(ID:= 30006 ).Index 'ищем меню "формат" (поиск нужен по ID потому что в руской версии название "формат" а в анг. "format" т.е. по имени искать нельзя)
        With .Controls(a)
            b = .Controls.Count
            .Controls.Add Type:=msoControlPopup, Before:=b ' добавляем в конец раскрыв. меню
            .Controls(b).Caption = "Проба"
            .Controls(b).BeginGroup = True 'устанавливаем разделитель
            .Controls(b).Controls.Add Type:=msoControlButton, ID:= 2949 , Before:= 1  'довавляем кнопку
            .Controls(b).Controls( 1 ).Caption = "Первая кнопка"
            .Controls(b).Controls( 1 ).OnAction = "Макрос1" 'присваиваем макро
            .Controls(b).Controls.Add Type:=msoControlButton, ID:= 2949 , Before:= 2 
            .Controls(b).Controls( 2 ).Caption = "Вторая кнопка"
            .Controls(b).Controls( 2 ).OnAction = ""
        End With
    End With

End Sub
...
Рейтинг: 0 / 0
Добавление нового элемента меню в существующее меню в Excel
    #33946470
Фотография k-nike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во! Спасибо. Тока я не понял ID:=2949 - это что такое?

А по поводу:
vkodorищем меню "формат" (поиск нужен по ID потому что в руской версии название "формат" а в анг. "format" т.е. по имени искать нельзя)
Я тут пока разбирался, нашел конструкцию:
Код: plaintext
1.
Application.CommandBars("Format").Controls.Add(Type:=msoControlButton, _
                                                                   Before:= 5 , Temporary:=True)
У меня в русском экселе работает. Т.е. можно в качестве названия меню писать по английски "Format" и т.п.

...
Рейтинг: 0 / 0
Добавление нового элемента меню в существующее меню в Excel
    #33946716
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
k-nikeТока я не понял ID:=2949 - это что такое?


У каждого элемента есть свой ID
например у элементов формы
ID:=220 'флажок
ID:=446 'переключатель
ID:=282 'кнопка
ID:=448 'список
2949 - это ID кнопки которой используют в панелях

k-nike
У меня в русском экселе работает. Т.е. можно в качестве названия меню писать по английски "Format" и т.п.

можно но если говорить об универсальности, то рекомендуется использовать ID
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Добавление нового элемента меню в существующее меню в Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]