Чтобы убрать с экрана все лишние элементы интерфейса Excel, можно выспользоваться таким кодом: (скрываются все панели инструментов в Excel 2003 и лента в Excel 2007; скрываются ярлычки листов, линейки и полосы прокрутки; изменяется название окна приложения) При необходимости можно отображать нужную панели инструментов, в то время, как остальные панели будут скрыты) Private Sub ChangeInterface(Value As Boolean) With Application .ScreenUpdating = False .Caption = IIf(Value = True, Empty, "Наше окно") .DisplayStatusBar = Value: .DisplayFormulaBar = Value Dim iCommandBar As CommandBar For Each iCommandBar In .CommandBars iCommandBar.Enabled = Value Next With .ActiveWindow .Caption = IIf(Value = True, .Parent.Name, "") .DisplayHeadings = Value: .DisplayGridlines = Value .DisplayHorizontalScrollBar = Value: .DisplayVerticalScrollBar = Value .DisplayWorkbookTabs = Value End With .ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", " & Value & ")" .ScreenUpdating = True End With End Sub Private Sub УбратьВсё() ChangeInterface False End Sub Private Sub ВосстановитьИнтерфейс() ChangeInterface True End Sub Чтобы скрывать панели инструментов Excel 2003 и ленту Excel 2007 только для одной книги, Private Sub Workbook_Open() ' открытие книги УбратьВсё End Sub Private Sub Workbook_Activate() ' возврат на эту книгу из другой УбратьВсё End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) ' закрытие книги ВосстановитьИнтерфейс End Sub Private Sub Workbook_Deactivate() ' переключение на другую книгу ВосстановитьИнтерфейс End Sub См. пример в прикреплённом файле:
|
|||||||

Комментарии
У меня та же проблема в верхней части экрана синяя строка то появляется то нет.
Прекрасный сайт! Спасибо админу!
Есть глюк. Закрываем файл, в ответ на запрос о сохранении жмем "отмена" и разворачиваем ленту. Как избавиться? И как оставить кнопку печать? В VBA чайник, прошу объяснить подробно.
В 2003 все понятно со скрытием меню и программированием своего
А вот в 2007 и 2010 удается скрыть ленту, а дальше что-то я торможу как создать свое меню.
Вопрос еще такой: как запретить пользователю залезать в "параметры" в 2007 и 2010? и можноли отключить эту круглую кнопку в 2007 и "файл" в 2010?
Ваш сайт исключительно полезен для меня.
Лучшего я пока не встречал
Спасибо
С уважением, Raikhman
иа моем компе 2 версии офиса 2003 и 2010 (приходится иногда пользоваться и одной и другой)
активная всегда одна из них и это создает проблемы
есть такой код на vb6
Public Sub Main()
'On Error Resume Next
'Проверяем версию Excel
Set xlApp = New Excel.Application
xlApp.Visible = True
If Val(xlApp.Version) <> 14 Then
MsgBox "Необходим Excel-2010"
xlApp.Quit
Set xlApp = Nothing
Exit Sub
End If
если активен excel 2010 то продолжаем, а если нет, то выходим.
Проблема: если активен 2003, то для работы программы приходится переустанавливать десятку - это весьма нудно. гдето в реестре чтото есть для быстрого переключения, или чтото еще, но где?
Кроме Вас на форуме чтото все залипли
спасибо
Подскажите пожалуйста как скрыть не всю ленту, а только некоторые, конкретные вкладки, или как вариант, скрыть всю, а потом отобразить нужные.
Спасибо.
Тут ничего сложного нет - сначала запускаете макрос скрытия интерфейса, а следом за ним - макрос формирования панели инструментов
УбратьВсё
ФормированиеПанелиИнструментов
End Sub
"При необходимости можно отображать нужную панели инструментов, в то время, как остальные панели будут скрыты)"
Может быть как это сделать всем очевидно, но я в затруднении.. нужно решение по котором оставалась бы только создаваемая пользовательская панель.. А как??
Сайт очень полезный и информативный!
Отличный макрос! Разработчику респект! Есть только один недостаток. При переходе с одного листа открытой книги на другой, а потом возврат на предыдущий - в верхней части экрана под заголовком окна появляется странная полоса. После выполнения последовательно макросов ВосстановитьИнтерфейс, УбратьВсё полоса пропадает, а потом снова появляется. Кроме того в Таблице настройки панелей инструментов появляется странное пустое окно выбора панели (без наименования, удалить которое невозможно. Можете что-либо прояснить по данному багу.
С уважением
Вадим
Можно и так, конечно, но результат будет не совсем тот.
Во-первых, остаются видимыми заголовки строк и столбцов, полосы прокрутки, ярлычки листов, а в Excel 2003, помимо этого, еще и панели инструментов.
Так что упрощённый способ не даст такого результата, которого можно добиться при использовании функции ChangeInterface
а можно проще, если надо только скрить панели:
Private Sub Workbook_Open()
Application.DisplayFullScreen = True
End Sub
Отправить комментарий