Страницы: 1
RSS
CommandBars, скрыть-отобразить
 
Доброе времени суток, Уважаемые учасники форума!  
 
Есть файл в который я вставил следующий макрос "ChangeInterface", но пришлось кое-что подправить (по деревянному) под свои нужды и получилось вот так:  
 
Sub ChangeInterface(Value As Boolean)  
   On Error Resume Next  
   With Application  
       .ScreenUpdating = False: .Caption = IIf(Value = True, Empty, "Файл")  
       .DisplayStatusBar = True: .DisplayFormulaBar = Value  
       .CommandBars("Standard").Visible = Value  
       .CommandBars("Formatting").Visible = Value  
       .CommandBars("Visual Basic").Visible = False  
       .CommandBars("WordArt").Visible = False  
       .CommandBars("Web").Visible = False  
       .CommandBars("External Data").Visible = False  
       .CommandBars("Borders").Visible = False  
       .CommandBars("Chart").Visible = False  
       .CommandBars("Formula Auditing").Visible = False  
       .CommandBars("Protection").Visible = False  
       .CommandBars("Picture").Visible = False  
       .CommandBars("Watch Window").Visible = False  
       .CommandBars("Stop Recording").Visible = False  
       .CommandBars("Reviewing").Visible = False  
       .CommandBars("Drawing").Visible = False  
       .CommandBars("PivotTable").Visible = False  
       .CommandBars("List").Visible = False  
       .CommandBars("Text To Speech").Visible = False  
       .CommandBars("Forms").Visible = False  
       .CommandBars("Control Toolbox").Visible = False  
       .CommandBars("Worksheet Menu Bar").FindControl(ID:=30002).Enabled = Value  
       .CommandBars("Worksheet Menu Bar").FindControl(ID:=30004).Enabled = Value  
       .CommandBars("Worksheet Menu Bar").FindControl(ID:=30005).Enabled = Value  
       .CommandBars("Worksheet Menu Bar").FindControl(ID:=30006).Enabled = Value  
       .CommandBars("Worksheet Menu Bar").FindControl(ID:=30007).Enabled = Value  
       .CommandBars("Worksheet Menu Bar").FindControl(ID:=30009).Enabled = Value  
       .CommandBars("Worksheet Menu Bar").FindControl(ID:=30011).Enabled = Value  
       With .ActiveWindow  
           .Caption = IIf(Value = True, .Parent.Name, "2010")  
           .DisplayMenuBar = Value  
           .DisplayHeadings = True: .DisplayGridlines = True  
           .DisplayHorizontalScrollBar = True: .DisplayVerticalScrollBar = True  
           .DisplayWorkbookTabs = True  
       End With: .ScreenUpdating = True  
   End With  
End Sub  
 
Вопрос следующий.  
 
Как можно зделать так, чтобы не присваивать значение "True/False" в этих строчках макроса: "... .CommandBars("Visual Basic").Visible = False", а воспользоваться переменной "Value"?!    
 
Заранее, извините за столь большой приведенный макрос.
 
The_Prist, сложность в том, что если я ставлю "False" или "True" или "Value" CommandBars, например меню "Visual Basic", если оно было у пользователя добавлено, соответственно пропадет, а мне бы хотелось, чтобы оно скрывалось, а при закрытии моего файла (если это меню у Пользователя было выбрано) возобновлялось в Excel.  
 
Тоесть, я тупо их запрещаю и при открытии любого друго файла остануться только "Standard" и "Formatting".
 
The_Prist, извините, нужно было сразу пример выложить.  
Сделайте пожалуйста следующее, перед открытием этого файла.  
В своем Excel оставьте только две панели "Standard" и "Formatting".  
Откройте с включенными макросами данный файл и закройте. После, откройте любой файл без макросов и тогда, я уверен, вы все сами увидите и поймете.
 
The_Prist, у меня 2003. Очень жалко, что у Вас 2007 офис :)  
Если присваиваю "Value" панелям, после выполнения макроса и открытия любого другого файла Excel (2003) будут отоброжаться все панели, даже если они не были выбраны у пользователя.  
 
Спасибо Вам за помощь, буду ждать ответов у кого 2003 офис.
 

А если взять за основу это? http://www.programmersforum.ru/showpost.php?p=380601&postcount=6

 
EducatedFool, спасибо за пример!  
Но мне необходимо оставить только правку "Worksheet Menu Bar - Edit - 30003", вот как ее оставить я не знаю, поэтому додумался до отключения всех панелей, кроме двух и правки.
Страницы: 1
Читают тему
Наверх
Loading...