powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как скрыть меню в Екселе?
10 сообщений из 10, страница 1 из 1
Как скрыть меню в Екселе?
    #33997387
guess what
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги!
Подскажите в общих чертах, как добиться следующего.
Я хочу, что бы у меня в конкретном файле Ексель была скрыта (или disabled) какая либо опция клавного меню, скажем, Save As или Print...
Понятное дело, что во всех прочих файлах эта опция должна присутствовать.
Буду признателен за помощь.
...
Рейтинг: 0 / 0
Как скрыть меню в Екселе?
    #33997601
mari_karo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При открытии файла:
Application.CommandBars(1).Controls(1).CommandBar.Controls(5).Visible = False

При закрытии файла:
Application.CommandBars(1).Controls(1).CommandBar.Controls(5).Visible = True

CommandBars(1) - это главное меню Excel
CommandBars(1).Controls(1). - пункт меню "Файл"
CommandBars(1).Controls(1).CommandBar.Controls(5) - это пункт меню "Сохранить как..."

В общем экспериментируйте, только не забывайте возвращать меню обратно).
...
Рейтинг: 0 / 0
Как скрыть меню в Екселе?
    #33997645
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теоретически, ты можешь поместить след. код в модуль ThisWorkbook:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Private Sub Workbook_Activate()
    Dim cb As CommandBar
    On Error Resume Next
    For Each cb In Application.CommandBars
        cb.FindControl(,  748 , , , True).Enabled = False
        cb.FindControl(,  4 , , , True).Enabled = False
    Next cb
End Sub

Private Sub Workbook_Deactivate()
    Dim cb As CommandBar
    On Error Resume Next
    For Each cb In Application.CommandBars
        cb.FindControl(,  748 , , , True).Enabled = True
        cb.FindControl(,  4 , , , True).Enabled = True
    Next cb
End Sub

(см. ID для CommandBars здесь: http://support.microsoft.com/kb/213552/en-us )

Но полно обходных путей. Так что лучше подстраховаться, добавив туда же:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub Workbook_BeforePrint(Cancel As Boolean)
    'Cancel = True
    'MsgBox "You can't print this file!"
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    'If SaveAsUI Then Cancel = True
    'MsgBox "You can't make copies of this file!"
End Sub

Это были хорошие новости, а плохие - обойти эту защиту нефиг делать:
- откл. макросы
- копировать в Explorer
и т.п.



KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Как скрыть меню в Екселе?
    #33997656
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уй, доп код должен быть без "'" (comments):

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Cancel = True
    MsgBox "You can't print this file!"
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If SaveAsUI Then Cancel = True
    MsgBox "You can't make copies of this file!"
End Sub

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Как скрыть меню в Екселе?
    #33997688
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mari_karoПри открытии файла...При закрытии файла...наверное все же при активации и дезактивации ;-)

mari_karoCommandBars(1).Controls(1).CommandBar.Controls(5) - это пункт меню "Сохранить как..."... чревато!!! что если юзер или установщик уже поиграли с данным меню, напр. перенесли нашу кнопку в др меню :-)
...
Рейтинг: 0 / 0
Как скрыть меню в Екселе?
    #33997699
mari_karo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KL (XL)
(см. ID для CommandBars здесь: http://support.microsoft.com/kb/213552/en-us )


Спасибо за ссылку. :) Полезная информация.
...
Рейтинг: 0 / 0
Как скрыть меню в Екселе?
    #33997719
mari_karo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
KL (XL) mari_karoПри открытии файла...При закрытии файла...наверное все же при активации и дезактивации ;-)

Ага, точно. Думаешь об одном, а пишешь малость другое...
KL (XL)
mari_karoCommandBars(1).Controls(1).CommandBar.Controls(5) - это пункт меню "Сохранить как..."... чревато!!! что если юзер или установщик уже поиграли с данным меню, напр. перенесли нашу кнопку в др меню :-)
Да, поэтому если использовать ID - это универсальное решение. :)
P.S. Век живи, век учись).
...
Рейтинг: 0 / 0
Как скрыть меню в Екселе?
    #33997744
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mari_karoпоэтому если использовать ID - это универсальное решение.

почти универсальное :-) бывают и тут проблемы, но реже хе-хе.
...
Рейтинг: 0 / 0
Как скрыть меню в Екселе?
    #33998518
guess what
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо за помощь
...
Рейтинг: 0 / 0
Как скрыть меню в Екселе?
    #34490303
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guess whatОгромное спасибо за помощь
спасибо вам за отзывчивость, я нашла ответ по вашей ссылке на свой вопрос
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как скрыть меню в Екселе?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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