Страницы: 1
RSS
Создание CommandBar через надстройку
 
Здравия всем!    
Пытаюсь сделать надстройку, чтоб при открытии Excel создавал CommandBar. Данная надстройка планировалась распространятся, так что варианта что-либо "доделать руками" нет.    
Написал код:    
 
Private Sub Workbook_Open()  
  With Application.CommandBars.Add(Name:="Правая панель")  
     ' Создание и настройка кнопки  
     With .Controls.Add(Type:=msoControlButton)  
        .Style = msoButtonWrapCaption  
        .Caption = "Добавить рецептуру"  
        .OnAction = "ТутМакрос"  
     End With  
     .Position = msoBarRight  
     .Visible = True  
  End With  
End Sub    
Вставил его соответственно в Workbook_Open. Сохранил как .xla, добавил в надстройки.    
При загрузке, макрос срабатывает, добавляя панель, но по окончанию панель уничтожается видимо, хотя по моему разумению должна остаться (ведь добавляется на уровне Application).  
Подскажите: как добавить панель, через надстройку?
 
http://www.planetaexcel.ru/forum.php?thread_id=15741 - в этой теме выкладывал свою надстройку - можно скачать как пример  
 
Option Explicit  
 
Sub LoadChadinBAr()  
 
 
 
Dim oCB As CommandBar  
Dim oCtl As CommandBarControl  
 
On Error Resume Next  
 
' Delete Existing Command Bar  
CommandBars("ChadinBar").Delete  
 
'Create New Command Bar  
Set oCB = CommandBars.Add("ChadinBar", 1, False, True)  
 oCB.RowIndex = 3  
 
' Параметры кнопки  
   Set oCtl = oCB.Controls.Add(Type:=msoControlButton)  
   oCtl.Caption = "Zebra"  
   oCtl.TooltipText = "Zebra"  
   oCtl.OnAction = "Zebra"  
    oCtl.FaceId = 637  
     
 
' Show the Command Bar  
oCB.Visible = True  
 
 
End Sub  
 
 
 
Ну и не забыть в модуле "Эта книга" вызывать макрос создания
 
не должна панель инструментов сама скрываться...  
 
вот пример создания панели инструментов (в виде XLA):
 
Благодарю EducatedFool, Konstantin_. Сегодня попробую.
Страницы: 1
Читают тему
Наверх