gpt4 book ai didi

python - 自动化 Excel 从 Python 获取 "TypeError: ' unicode' 对象不可调用“在 Range.Address 上

转载 作者:太空宇宙 更新时间:2023-11-04 11:00:26 27 4
gpt4 key购买 nike

根据标题,当我在 Python 2.6 中运行以下代码时,出现以下错误:

print range.Address(RowAbsolute=False, ColumnAbsolute=False)"

我知道这个错误是什么意思,但是 MSDN 页面 ( http://msdn.microsoft.com/en-us/library/aa174749(v=office.11).aspx ) 说这是有效的并且里面有一个例子。我已经在 EXCEL VBA 中尝试过这个并且它有效。

TypeError: 'unicode' object is not callable

有什么想法吗?

谢谢。

杜安德

import win32com.client

xlApp = win32com.client.DispatchEx('Excel.Application')
xlApp.Visible = True

objWkb = xlApp.Workbooks.Add()
objSht = objWkb.Worksheets(1)
objSht.Cells(2,2).Value = '1'
objSht.Cells(2,3).Value = '2'

range = objSht.Cells(2,4)
range.Value = '=%s+%s' % (objSht.Cells(2,2).Address, objSht.Cells(2,3).Address)
range.AddComment('Test Comment')

print range.Address
print range.Address(RowAbsolute=False, ColumnAbsolute=False)

objWkb.Close(SaveChanges=False) #to avoid prompt

xlApp.Quit()
xlApp.Visible = 0 #must make Visible=0 before del self.excelapp or EXCEL.EXE remains in memory.
del xlApp

最佳答案

Range.Address 是一个参数化属性。它在像属性一样访问时提供一个值,但也可以像带参数的方法一样被调用。 PyWin32 不直接支持参数化属性。它通过为每个支持参数的属性提供一个 GetXXXXX 方法来解决这个问题。使用:

range.GetAddress(RowAbsolute=False,ColumnAbsolute=False)

它可以与关键字一起使用,也可以不与关键字一起使用。

使用其中之一:

range.GetAddress()
range.Address

读取属性。

关于python - 自动化 Excel 从 Python 获取 "TypeError: ' unicode' 对象不可调用“在 Range.Address 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6072851/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com