ichigo
ichigo

Reputation: 327

Excel VBA FormatConditions in Python

I am trying to convert the following code into python:

            Columns("C:C").Select
            Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreaterEqual _
                , Formula1:="=50"
            Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
            With Selection.FormatConditions(1).Interior
                .PatternColorIndex = xlAutomatic
                .Color = 5296274
                .TintAndShade = 0
            End With
            Selection.FormatConditions(1).StopIfTrue = True

And I have the following python code for it:

                wb.ActiveSheet.Columns("F:AA").Select
            formula1 = "=50"
            wb.ActiveSheet.Columns("F:AA").FormatConditions.Add(excel.XlFormatConditionType.xlCellValue, excel.XlFormatConditionOperator.xlGreaterEqual, 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).Italic = False
            wb.ActiveSheet.Columns("F:AA").FormatConditions(1).Font.Strikethrough = False
            wb.ActiveSheet.Columns("F:AA").FormatConditions(1).Font.TintAndShade = 0
            wb.ActiveSheet.Columns("F:AA").FormatConditions(1).Interior.PatternColorIndex = xlAutomatic
            wb.ActiveSheet.Columns("F:AA").FormatConditions(1).Interior.Color = 5296274
            wb.ActiveSheet.Columns("F:AA").FormatConditions(1).Interior.TintAndShade = 0
            wb.ActiveSheet.Columns("F:AA").FormatConditions(1).StopIfTrue = False

And I am getting the following error:

'<win32com.gen_py.Microsoft Excel 12.0 Object Library._Application instance at 0x174381576>' object has no attribute 'XlFormatConditionType'

Upvotes: 4

Views: 2608

Answers (1)

YOU
YOU

Reputation: 123917

Probably change

excel.XlFormatConditionType.xlCellValue
excel.XlFormatConditionOperator.xlGreaterEqual

to

win32com.client.constants.xlCellValue
win32com.client.constants.xlGreaterEqual

Upvotes: 3

Related Questions