pywin32 中的 SetRange 方法 returns NoneObject
SetRange method returns NoneObject in pywin32
我正在尝试使用 python 将 word 文档中 table 单元格中的部分文本设为粗体。但是我不知道该怎么做。
我已经尝试过使用带参数的范围方法,但它是 returns 字符串,而不是范围对象。现在我试图在 Python 中调用 Range 对象的 SetRange 方法,但它使我的 Range 对象成为 NoneObject。
test = table.Cell(start_row + i, 3).Range.SetRange(1, 10).Bold = True
代码崩溃
AttributeError: 'NoneType' object has no attribute 'Bold'
我做错了什么?
你没有正确使用它。检查 [MS.Docs]: Range object (Word):
- SetRange - 它的方法之一,没有 return 任何东西(翻译为 Python - returns None)
- Bold - 它的属性之一
所以,您不应该链接 2。将您的代码修改为:
range_obj = table.Cell(start_row + i, 3).Range
range_obj.SetRange(1, 10)
range_obj.Bold = True
我正在尝试使用 python 将 word 文档中 table 单元格中的部分文本设为粗体。但是我不知道该怎么做。
我已经尝试过使用带参数的范围方法,但它是 returns 字符串,而不是范围对象。现在我试图在 Python 中调用 Range 对象的 SetRange 方法,但它使我的 Range 对象成为 NoneObject。
test = table.Cell(start_row + i, 3).Range.SetRange(1, 10).Bold = True
代码崩溃
AttributeError: 'NoneType' object has no attribute 'Bold'
我做错了什么?
你没有正确使用它。检查 [MS.Docs]: Range object (Word):
- SetRange - 它的方法之一,没有 return 任何东西(翻译为 Python - returns None)
- Bold - 它的属性之一
所以,您不应该链接 2。将您的代码修改为:
range_obj = table.Cell(start_row + i, 3).Range
range_obj.SetRange(1, 10)
range_obj.Bold = True