Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Новое меню / 4 сообщений из 4, страница 1 из 1
19.12.2005, 13:18:02
    #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
19.12.2005, 20:20:55
    #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
20.12.2005, 10:49:20
    #33445869
Ekonomova
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое меню
Спасибо за совет, получилось, но не совсем, так как книги имееют жесткую связь. Если кому интересно, то обошла через Активное и неактивное окно, вроде работает.
...
Рейтинг: 0 / 0
20.12.2005, 18:37:52
    #33447579
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Новое меню
Если книги имеют жесткую связь - имеет смысл слить их в одну общую книгу :)
Не нужно жестко связывать две книги. Чревато это...
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Новое меню / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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