2011-01-28 61 views
0

理論上,它應該爲從F到AA列的範圍內的每個設置2種不同的格式條件,並使用不同的顏色。不幸的是,一旦我運行這個Python腳本,excel只獲取第一個條件的信息,第二個條件在excel中,但缺少顏色填充。有什麼建議?如何使用Python在Excel中創建多個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(1).Font.Bold = True   
wb.ActiveSheet.Columns("F:AA").FormatConditions(1).Interior.Color = 10092543      
wb.ActiveSheet.Columns("F:AA").FormatConditions(1).StopIfTrue = False 

回答

1

發現我的錯誤,我需要設置條件格式的指數:

  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 
相關問題