来自 Python 的自动化 Excel 在 Range.Address 上获得"TypeError: 'unicode' object is not callable"



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

打印范围。地址(RowAbsolute=False,ColumnAbsolute=False)"

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

TypeError:"unicode"对象不是可调用

有什么想法吗?

谢谢。

Doanld

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

读取属性。

相关内容

最新更新