Страницы: 1
RSS
Настройка контекстного меню
 
Уважаемые форумчане!  
Встретил на сайте http://www.computerra.ru/gid/rtfm/office/236985/ описание надстройки предназначенной для модификации контекстного меню ячейки в табличном редакторе Excel. С помощью этой надстройки можно дополнить стандартное контекстное меню любыми пунктами для работы в текущей сессии Excel, либо сохранить сделанные изменения для постоянного использования. Огромная просьба к Вам помочь ее найти.  
Заранее всем спасибо кто откликнется.
 
Уважаемые форумчане!  
Неужели никто не слышал по данную надстройку и не поможет мне?
 
Вы скажите, что именно хотите добавить в меню.  
Если пару конкретных макросов - это несложно сделать без этой надстройки.
 
Кто-то когда-то (для Excel 2003) написал надстройку 03 ноября 2005 года. И как вы думаете Kroha где сейчас эта надстройка, если даже в журнале ссылка на ресурс удалена...  
 
Сформировать пользовательское меню можно и без этой надстройки, ведь согласитесь Kroha она нужна Вам только на один раз.
 
Уважаемые VovaK и Hugo!  
Подскажите, пожалуйста, как сформировать контекстное пользовательское меню ячейки без надстройки, которое нужно только на один день, а на другой день другое. Писать макросы каждый день не хватает времени, а контекстное пользовательское меню ячейки сразу необходимо 2-3 работникам. Сам я пользователь, научившийся писать небольшие макросы, читая форумы.
 
Не понял, как это - другое?  
Ну а коротко - у меня работает так:  
 
1.  
Private Sub Workbook_BeforeClose(Cancel As Boolean)  
On Error Resume Next  
Application.CommandBars("Cell").Controls.Item("MyFunc").Delete  
End Sub  
 
Private Sub Workbook_Open()  
On Error Resume Next  
Application.CommandBars("Cell").Controls.Item("MyFunc").Delete  
On Error GoTo 0  
FInic  
End Sub  
 
2. В модуль:  
 
Sub FInic()  
With Application.CommandBars("Cell").Controls.Add(Type:=msoControlButton, before:=1)  
 .Caption = "MyFunc"  
 .OnAction = "checkfrm"  
   .FaceId = 203  
End With  
End Sub  
 
'ну и собственно это запускающийся макрос:  
Private Sub checkfrm()  
FForm.Show  
End Sub
 
Hugo, огромное спасибо за оказанное внимание.  
Пытаюсь разобраться в Вашем макросе, но знаний не хватает. Если ничего не получится, то просьба не отказать в разъяснении.
 
А что тут пояснять - п1. это в книге, п2. в стандартный модуль (добавить, если нет).  
Вы редактор VBA откройте, там поймёте.  
Далее - в строке  
.OnAction = "checkfrm"  
указано имя запускающегося макроса при выборе этгого пункта меню, этот макрос пишете какой угодно, у меня тут форма открывается.  
"MyFunc" - это название пункта меню, пишите по вкусу.  
.FaceId = 203 - это иконка, подбираете номер по вкусу.  
Где-то тут на форуме был файл с примерами всех иконок, можно поискать или может быть кто адрес подскажет.
 
Вот, нашёл - у EducatedFool:  
 
http://excelvba.ru/code/FaceID
 
Hugo! Огромное Вам спасибо! Все получилось. Буду стремиться овладеть знаниями на Вашем уровне.
 
Ну вот и хорошо.  
Двойное удаление меню при открытии и закрытии книги - это перестраховка.  
Иначе может получиться, что в случае сбоя/зависа появятся два пункта меню - останется старое и появится новое.  
Так же этот код рассчитан, что меню есть только при открытом этом файле (но во всех файлах).  
У меня этот файл в автозагрузке - так что меню есть всегда.
Страницы: 1
Наверх