Изменение цвета ярлыка с помощью VB макроса.

         Изменение цвета ярлыка активного листа это дополнительная навигация, которая дает ощущение большей интерактивности при работе с приложением. Отчет с "юзер френдли" интерфейсом это признак мастерства разработчика

         Изменять цвет можно без использования макроса, но недостаток этого способа в том, что нужно ссылаться на идентификаторы листов. Использование макроса же лишено этого недостатка.

         Давайте перейдем к коду:

     

    sub ChangeColorActive
        
    'Обходим все листы приложения и задаем им "неактивный" цвет    
        for i=0 to ActiveDocument.NoOfSheets-1
        
            set vSheet = ActiveDocument.GetSheet(i)
        
            set vSheetProp = vSheet.GetProperties
            
            vSheetProp.TabAttr.BgColor.PrimaryCol.Col = RGB(241,238,229)
        
            vSheetProp.TabAttr.FgColor.PrimaryCol.Col = RGB(232,98,32)
        
            vSheetProp.TabAttr.Mode = 2
            
            vSheet.SetProperties vSheetProp
            
        next
        
    'Определяем активный лист и задаем ему "активный" цвет
        set vSheet = ActiveDocument.ActiveSheet
    
        set vSheetProp = vSheet.GetProperties
        
        vSheetProp.TabAttr.BgColor.PrimaryCol.Col = RGB(67,117,115)
        
        vSheetProp.TabAttr.FgColor.PrimaryCol.Col = RGB(250,245,120)
        
        vSheetProp.TabAttr.Mode = 2
        
        vSheet.SetProperties vSheetProp
    
    End sub
    
    
    

     

    Далее обозначенный макрос следует прописать в триггерах каждого листа в разделе OnActivateSheet.