如何使用python win32com更改excel中单元格中单个字符的颜色?

时间:2011-08-18 07:29:24

标签: python excel fonts win32com

我对excel的win32com绑定有疑问。我设置了早期绑定,并遵循O'Reilly的“Python编程在Win32上”一书中的一些例子。

以下代码可以正常使用:

book2.xlApp.Worksheets('Sheet1').Cells(1,1).Font.ColorIndex = 1
book2.xlApp.Worksheets('Sheet1').Cells(1,1).Font.ColorIndex = 2

它根据数字改变整个单元格的字体颜色。 但是这不起作用:

book2.xlApp.Worksheets('Sheet1').Cells(1,1).Characters(start,length).Font.ColorIndex = 1

我得到以下回调:

Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
AttributeError: Characters instance has no __call__ method

但是在Excels VBA中,代码可以正常工作。任何人都能指出我的解决方案吗? 我真的需要在excel单元格中更改字符串的部分内容。

非常感谢。

1 个答案:

答案 0 :(得分:5)

使用GetCharacters:

Cells(1,1).GetCharacters(start,length).Font.ColorIndex = 1