powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / скрыть из меню "Изменить комментарии"
8 сообщений из 8, страница 1 из 1
скрыть из меню "Изменить комментарии"
    #34422116
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а какой командой можно программно скрыть из контекстного меню ячейки
команды

-"Изменить примечания"
-"Удалить примечания"
- "Отобразить или скрыть примечания"

спасибо
...
Рейтинг: 0 / 0
скрыть из меню "Изменить комментарии"
    #34422250
lena_####
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest1

Если речь идет об Excel и контекстном меню "Cell", то такой код выведет в окно отладки названия пунктов меню и их ID:

Код: plaintext
1.
2.
For Each ctr In Application.CommandBars("Cell").Controls
  Debug.Print ctr.Caption; Tab; ctr.ID
Next

В моем случае получилось следующее:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
&Вырезать                             21  
&Копировать                           19  
Вст&авить                             22  
Сп&ециальная вставка...              755  
&Добавить ячейки...                 3181  
&Удалить...                          292  
Очистить содер&жимое                3125  
Добавить приме&чание                2031  
Удалить при&мечание                 1592  
&Отобразить примечание              1593  
Формат &ячеек...                     855  
В&ыбрать из списка...               1966  
Добавить контрольное &значение      5685  
Гиперсс&ылка...                     1576  
Изменить &гиперссылку...            1577  
&Открыть гиперссылку                1015  
&Удалить гиперссылку                3626 

Ну а теперь можно скрыть нужный пункт либо так:
Код: plaintext
Application.CommandBars("Cell").Controls("Добавить приме&чание").Visible = False
либо найдя его по ID:
Код: plaintext
1.
2.
For Each ctr In Application.CommandBars("Cell").Controls
  If ctr.ID =  2031  Then ctr.Visible = False
Next
Вот это тоже может пригодиться. Восстанавливаем контекстное меню после эксперимантов:
Код: plaintext
Application.CommandBars("Cell").Reset
Множно пункты меню не скрывать, а делать недоступными:
Код: plaintext
Application.CommandBars("Cell").Controls("Добавить приме&чание").Enabled = False
...
Рейтинг: 0 / 0
скрыть из меню "Изменить комментарии"
    #34422572
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lena_####
либо найдя его по ID:
Код: plaintext
1.
2.
For Each ctr In Application.CommandBars("Cell").Controls
  If ctr.ID =  2031  Then ctr.Visible = False
Next

не для критики
зная ID можно не бегать по коллекции достаточно воспользоваться FindControl
Код: plaintext
    CommandBars.FindControl(ID:= 2031 ).Enabled = True
...
Рейтинг: 0 / 0
скрыть из меню "Изменить комментарии"
    #34422601
lena_####
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkodor

И действительно никакой беготни не надо. Спасибо :)
...
Рейтинг: 0 / 0
скрыть из меню "Изменить комментарии"
    #34489886
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо ещё скрыть из меню Сервис пункт "Доступ к книге"
какое имя у этого commandbars
и если не трудно, укажите где в Help это написано ?
...
Рейтинг: 0 / 0
скрыть из меню "Изменить комментарии"
    #34490207
999999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
скрыть из меню "Изменить комментарии"
    #34490236
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Sub ShowCommandBarNames()
    Dim Row As Integer
    Dim cbar
    Dim cbar2
    Cells.Clear
    Row =  1 
    For Each cbar In CommandBars( 1 ).Controls
        Cells(Row,  1 ) = cbar.Index
        Cells(Row,  2 ) = cbar.Caption
        Cells(Row,  3 ) = cbar.ID
        Row = Row +  1 
        For Each cbar2 In cbar.Controls
            Cells(Row,  2 ) = cbar2.Index
            Cells(Row,  3 ) = cbar2.Caption
            Cells(Row,  4 ) = cbar2.ID
            Row = Row +  1 
        Next
        Row = Row +  1 
    Next cbar
End Sub
...
Рейтинг: 0 / 0
скрыть из меню "Изменить комментарии"
    #34494985
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkodor
спасибо, как раз то что надо, на все случаи жизни :)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / скрыть из меню "Изменить комментарии"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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