Страницы: 1
RSS
VBA. Деактивация элементов лены в надстройке, Сделать не активными элементы надстройки, если не открыта ни одна книга
 
Вопрос решен. Решение ниже.

Большое спасибо всем откликнувшимся.
Изменено: DANIKOLA - 28.05.2020 11:43:01
 
Доброе время суток.
Сделайте активной вкладку "Вкладка", попереключайтесь между листами книги. Дальше, полагаю, разберётесь. Успехов.
 
Андрей VG, спасибо, но у меня не получается прицепить код к надстройке, пробовал вставлять код и в ЭтаКнига и в класс, менял события и ни как не идет.
Изменено: DANIKOLA - 28.05.2020 01:16:29
 
чекбоксы - принцип тот же
Соблюдение правил форума не освобождает от модераторского произвола
 
Вопрос решен. Спасибо Андрей VG за заданное направление. Не даром говорят: "если долго мучаться, что-нибудь получится".
Для тех кто не знает, весь код хранится в модуле книги. Файл пример на основе файла  Андрей VG.
Код
Option Explicit
Private WithEvents MyExcel As Application
Private FRibbon As IRibbonUI

Public Sub onGetEnabled(control As IRibbonControl, ByRef enabled)
    enabled = Not MyExcel.Workbooks.Count = 0
End Sub

Public Sub setupReference(ribbon As IRibbonUI)
    Set FRibbon = ribbon
End Sub

Private Sub MyExcel_NewWorkbook(ByVal Wb As Workbook)
    If Not FRibbon Is Nothing Then FRibbon.Invalidate
End Sub

Private Sub MyExcel_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean)
    If Not FRibbon Is Nothing Then FRibbon.Invalidate
End Sub

Private Sub MyExcel_WorkbookOpen(ByVal Wb As Workbook)
    If Not FRibbon Is Nothing Then FRibbon.Invalidate
End Sub

Private Sub Workbook_Open()
    Set MyExcel = Application
    If Not FRibbon Is Nothing Then FRibbon.Invalidate
End Sub
Изменено: DANIKOLA - 28.05.2020 11:38:05
Страницы: 1
Наверх