AttributeError:当更改xlwings python的字体颜色时



我想改变字体颜色,如果前一行的值是相同的下一个单元格在xlwings。我尝试与"工作表。范围(changeFontCell).api.font。Color = rgb_to_int((176,176,176))"修改字体

但我得到错误">AttributeError: '<win32com.gen_py。Microsoft>'对象没有属性'font'";下面是我的源代码。我该如何解决这个错误

lastRow = worksheet.range('A' + str(worksheet.cells.last_cell.row)).end('up').row + 1
startNewRow = 'A' + str(lastRow)
worksheet.range(startNewRow).value = finalResult

finalLastRow = worksheet.range('A' + str(worksheet.cells.last_cell.row)).end('up').row

for i in list(range(lastRow, finalLastRow)):
if worksheet.range('A' + str(i)).value == worksheet.range('A' + str(i+1)).value:
changeFontCellColour = 'A' + str(i+1)
worksheet.range(changeFontCellColour ).api.font.Color = rgb_to_int((176,176,176))
else:
continue

任何建议都有帮助!谢谢你

现在我用下面的源代码解决了我的问题。

lastRow = worksheet.range('A' + str(worksheet.cells.last_cell.row)).end('up').row + 1
startNewRow = 'A' + str(lastRow)
worksheet.range(startNewRow).value = finalResult

finalLastRow = worksheet.range('A' + str(worksheet.cells.last_cell.row)).end('up').row

for i in list(range(lastRow, finalLastRow)):
if worksheet.range('A' + str(i)).value == worksheet.range('A' + str(i+1)).value:
changeFontCellColour = 'A' + str(i+1)
**myRange = worksheet.range(changeFontCellColour)**
myRange.api.Font.Color = rgb_to_int((160,160,160))
continue
else:
continue

最新更新