Здравствуйте, уважаемые форумчане! Довелось мне вчера впервые познакомиться с созданием надстроек, попробовал RibbonXMLEditor для изменений ленты. Написано на эту тему уже много и подробно. Но, никак не могу понять следующее. Допустим есть надстройка с отредактированной лентой, возможно ли подключать ее только к конкретному файлу? У меня есть включение и отключение при workbook open и beforeclose: [vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) myAdd.Installed = False End Sub Private Sub Workbook_Open() Set myAdd = Application.AddIns.Add("C:\Users\Evgeniy\Desktop\Создание заявок\AddIn.xlam") myAdd.Installed = True End Sub
[/vba] Но естественно при параллельном открытии нескольких документов, во всех на ленте есть кнопки из надстройки, этим можно управлять или только так и будет?
Здравствуйте, уважаемые форумчане! Довелось мне вчера впервые познакомиться с созданием надстроек, попробовал RibbonXMLEditor для изменений ленты. Написано на эту тему уже много и подробно. Но, никак не могу понять следующее. Допустим есть надстройка с отредактированной лентой, возможно ли подключать ее только к конкретному файлу? У меня есть включение и отключение при workbook open и beforeclose: [vba]
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean) myAdd.Installed = False End Sub Private Sub Workbook_Open() Set myAdd = Application.AddIns.Add("C:\Users\Evgeniy\Desktop\Создание заявок\AddIn.xlam") myAdd.Installed = True End Sub
[/vba] Но естественно при параллельном открытии нескольких документов, во всех на ленте есть кнопки из надстройки, этим можно управлять или только так и будет?EvgenyD
А если еще (в дополнение к уже имеющимся) повесить в этом конкретном файле включение на Private Sub Workbook_Activate(), а отключение на Private Sub Workbook_Deactivate()?
А если еще (в дополнение к уже имеющимся) повесить в этом конкретном файле включение на Private Sub Workbook_Activate(), а отключение на Private Sub Workbook_Deactivate()?_Boroda_
В модуле класса ExApp пропишете свое имя книги. Этот вариант не надежный. При выполнении любых макросов с ошибкой- этот вариант перестанет работать.
В модуле класса ExApp пропишете свое имя книги. Этот вариант не надежный. При выполнении любых макросов с ошибкой- этот вариант перестанет работать.doober
Саня, благодарю за совет ,но я наоборот всю кучу своего говнокода хочу в надстройку убрать, т.к. этот код используется у 4-х пользователей, в виде надстройки его редактировать намного удобнее.
Саня, благодарю за совет ,но я наоборот всю кучу своего говнокода хочу в надстройку убрать, т.к. этот код используется у 4-х пользователей, в виде надстройки его редактировать намного удобнее.EvgenyD
doober, да, вариант с Activate неудачен, т.к. при выполнении какого-либо макроса с переходом в другую книгу надстройка отваливается и соответственно запущенная процедура из надстройки прерывается.Свой частный случай решил, некрасиво, но работает. Хотелось бы понять Ваше предложение, но ума не хватает, смотрю на эти несколько процедур по 3-4 строки, а понять что они делают не могу ). Подключить попробовал, в надстройке поменял имя файла в классе, подключил надстройку к этому файлу, перезапустил файл и [vba]
Код
MyRibbon.InvalidateControl "rxTabTable"
[/vba] вылетает ошибка. Run time error 91 Object variable or With block variable not set.
Ну с sub Alles понятно ). Function getVisible - не нашел где задействована. Поможете разобраться?
doober, да, вариант с Activate неудачен, т.к. при выполнении какого-либо макроса с переходом в другую книгу надстройка отваливается и соответственно запущенная процедура из надстройки прерывается.Свой частный случай решил, некрасиво, но работает. Хотелось бы понять Ваше предложение, но ума не хватает, смотрю на эти несколько процедур по 3-4 строки, а понять что они делают не могу ). Подключить попробовал, в надстройке поменял имя файла в классе, подключил надстройку к этому файлу, перезапустил файл и [vba]
Код
MyRibbon.InvalidateControl "rxTabTable"
[/vba] вылетает ошибка. Run time error 91 Object variable or With block variable not set.
Ну с sub Alles понятно ). Function getVisible - не нашел где задействована. Поможете разобраться?EvgenyD