根据标题,当我在 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/