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

发布于 2024-11-30 07:51:00 字数 698 浏览 1 评论 0原文

我有一个关于 Excel 的 win32com 绑定的问题。我设置了早期绑定并遵循 O'Reilly 的“Win32 上的 Python 编程”一书中的一些示例。

以下代码工作正常:

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 单元格中字符串的部分内容。

非常感谢。

I have a question regarding the win32com bindings for excel. I set up early bindings and followed some examples from the "Python Programming on Win32" book from O'Reilly.

The following code works fine:

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

It changes the font color of the whole cell according to the number.
However this does not work:

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

I get the following callback:

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

However in Excels VBA the code works. Can anybody point me to the solution?
I really need to change parts of a string in an excel cell.

Thank you very much.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

相思碎 2024-12-07 07:51:00

使用获取字符:

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

use GetCharacters:

Cells(1,1).GetCharacters(start,length).Font.ColorIndex = 1
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文