Как создать несколько условий формата в Excel, используя Python - PullRequest
0 голосов
/ 28 января 2011

В следующем коде теоретически он должен установить 2 разных условия форматирования с разными цветами для каждого в диапазоне от F до AA столбцов. К сожалению, как только я запустил этот скрипт на Python, excel получает информацию только по первому условию, где второе условие находится в Excel, но отсутствует цветовая заливка. Любой совет?

    formula1 = "=95" 
formula2 = "=100"
wb.ActiveSheet.Columns("F:AA").FormatConditions.Add(win32c.xlCellValue , win32c.xlBetween , formula1,formula2)             
#wb.ActiveSheet.Columns("F:AA").FormatConditions(excel.Selection.FormatConditions.Count).SetFirstPriority()              
wb.ActiveSheet.Columns("F:AA").FormatConditions(1).Font.Bold = True            
wb.ActiveSheet.Columns("F:AA").FormatConditions(1).Interior.Color = 8420607                       
wb.ActiveSheet.Columns("F:AA").FormatConditions(1).StopIfTrue = False 
wb.ActiveSheet.Columns("F:AA").FormatConditions.Add(win32c.xlCellValue , win32c.xlGreaterEqual , formula2)             
#wb.ActiveSheet.Columns("F:AA").FormatConditions(excel.Selection.FormatConditions.Count).SetFirstPriority()              
wb.ActiveSheet.Columns("F:AA").FormatConditions(1).Font.Bold = True          
wb.ActiveSheet.Columns("F:AA").FormatConditions(1).Interior.Color = 10092543                       
wb.ActiveSheet.Columns("F:AA").FormatConditions(1).StopIfTrue = False 

1 Ответ

1 голос
/ 28 января 2011

Нашел мою ошибку, мне нужно было установить индекс FormatConditions:

            formula1 = "=95" 
            formula2 = "=100"
            wb.ActiveSheet.Columns("F:AA").FormatConditions.Add(win32c.xlCellValue , win32c.xlBetween , formula1,formula2)             
            #wb.ActiveSheet.Columns("F:AA").FormatConditions(excel.Selection.FormatConditions.Count).SetFirstPriority()              
            wb.ActiveSheet.Columns("F:AA").FormatConditions(1).Font.Bold = True            
            wb.ActiveSheet.Columns("F:AA").FormatConditions(1).Interior.Color = 8420607                       
            wb.ActiveSheet.Columns("F:AA").FormatConditions(1).StopIfTrue = False 
            wb.ActiveSheet.Columns("F:AA").FormatConditions.Add(win32c.xlCellValue , win32c.xlGreaterEqual , formula2)             
            #wb.ActiveSheet.Columns("F:AA").FormatConditions(excel.Selection.FormatConditions.Count).SetFirstPriority()              
            wb.ActiveSheet.Columns("F:AA").FormatConditions(2).Font.Bold = True          
            wb.ActiveSheet.Columns("F:AA").FormatConditions(2).Interior.Color = 10092543                       
            wb.ActiveSheet.Columns("F:AA").FormatConditions(2).StopIfTrue = False 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...