В соответствии с заголовком, когда я запускаю код ниже в Python 2.6, я получаю следующую ошибку в строке:
диапазон печати .Address(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
Чтобы прочитать свойство.