Как исключить дублирование CommandBar

Программирование на Visual Basic for Applications
Ig
Обычный пользователь
Обычный пользователь
 
Сообщения: 73
Зарегистрирован: 30.04.2005 (Сб) 12:37
Откуда: Far East

Как исключить дублирование CommandBar

Сообщение Ig » 27.05.2005 (Пт) 10:03

Здравствуйте.

Условие: Имеем две идентичные Экселевские "книги". Если их открывать поотдельности, то каждая из них создает одну и ту же CommandBar (удаляемую при закрытии) - "MyCrazyBar", - с парой кнопок.
Вопрос: Как "сказать" второй "книге", открываемой после первой, что повторно создавать панель уже не нужно? А точнее: можно ли обойтись без "флага"?
Код типа:

If Application.CommandBars("MyCrazyBar").Visible = False Then
Set MyMainBar = Application.CommandBars.Add(Name:="MyCrazyBar", _
Position:=msoBarTop, MenuBar:=False, _
Temporary:=True)
With MyMainBar
.Visible = True
.Protection = msoBarNoChangeVisible + msoBarNoCustomize _
+ msoBarNoMove
' Создаем кнопки
Set CmdBttn1 = .Controls.Add(Type:=msoControlButton, ID:=1, _
Temporary:=True)
Set CmdBttn2 = .Controls.Add(Type:=msoControlButton, ID:=1, _
Temporary:=True)
End With
End If
...

вызывает ошибку. 8)
"Нормальные герои всегда идут в обход..."

Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 41

    TopList