powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Новое меню
4 сообщений из 4, страница 1 из 1
Новое меню
    #33444050
Ekonomova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть двсе книги. Должны быть открыты одновременно. Надо, чтобы у каждой было свое меню. Есть код, но он работает только если открывать книги поочередно, а при открытие вместе первая книга цепляет менб второй. Что не так?
Sub MakeMenuBar2() (в другой книге MakeMenuBar1)
Dim NewMenuBar As CommandBar
Dim NewMenu As CommandBarControl
Dim NewItem As CommandBarControl
Dim NewMenu1 As CommandBarControl
Dim NewItem1 As CommandBarControl

' Удаление строки меню, если она существует
Call DeleteMenuBar2

' Добавление строки меню
Set NewMenuBar = CommandBars.Add(MenuBar:=True)
With NewMenuBar
.Name = "Моя строка меню"
.Visible = True
End With

' Копирование меню File (ID=30002) со строки меню листа
CommandBars("Worksheet Menu Bar").FindControl(ID:=30002).Copy _
Bar:=CommandBars("Моя строка меню")

' Добавление нового меню
Set NewMenu = NewMenuBar.Controls.Add _
(Type:=msoControlPopup)
NewMenu.Caption = "&Приложение №2"

' Добавление новой опции меню
Set NewItem = NewMenu.Controls.Add(Type:=msoControlButton)
With NewItem
.Caption = "&Приложение №2(форма)"
.OnAction = "ShowHelp"
End With
' Добавление новой опции меню
Set NewItem = NewMenu.Controls.Add(Type:=msoControlButton)
With NewItem
.Caption = "&Не использовать"
.OnAction = "DeleteMenuBar"
End With
'Добавление новой опции меню
Set NewItem = NewMenu.Controls.Add(Type:=msoControlButton)
With NewItem
.Caption = "&Печать приложения №2"
.OnAction = "ShowHelp"
End With
...
Рейтинг: 0 / 0
Новое меню
    #33445194
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EkonomovaЕсть двсе книги. Должны быть открыты одновременно. Надо, чтобы у каждой было свое меню.

Вот здесь надо давать разные имена для разных книг.
Код: plaintext
1.
2.
3.
4.
5.
6.
'   Добавление строки меню
    Set NewMenuBar = CommandBars.Add(MenuBar:=True)
    With NewMenuBar
        .Name = "Моя строка меню"
        .Visible = True
    End With
например так:
Код: plaintext
.Name = thisworkbook.name & " personal menu"
...
Рейтинг: 0 / 0
Новое меню
    #33445869
Ekonomova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за совет, получилось, но не совсем, так как книги имееют жесткую связь. Если кому интересно, то обошла через Активное и неактивное окно, вроде работает.
...
Рейтинг: 0 / 0
Новое меню
    #33447579
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если книги имеют жесткую связь - имеет смысл слить их в одну общую книгу :)
Не нужно жестко связывать две книги. Чревато это...
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Новое меню
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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