Gerald Reeder wrote:
Hello,
I'm trying to get values from a non-contiguous range, specifically
"E5:E10,E35"
Range("E5:E10,E35").Value -- only returns the values for "E5:E10",
ignoring
"E35"
Range("E5:E10,E35").Address -- however returns "E5:E10,E35"
Range("E5:E10,E35").Count -- returns 7, which is correct
I'm early-binding and using Python 2.6 and Pywin2.6.1
from win32com.client import Dispatch
xl = Dispatch('Excel.Application')
xl.Visible = 0
xl.DisplayAlerts = 0
xl.Workbooks.Open(xl_file)
wrkbk = xl.ActiveWorkbook
sht = wrkbk.Worksheets(1)
print sht.Range("E5:E10,E35").Value
print sht.Range("E5:E10,E35").Address
wrkbk.Close()
xl.Quit()
Any ideas? I've searched the complete archive and I've read Mark and
Andy's
(excellent) book.
A VBA Macro works with this Range syntax.
Thank you,
JR
Using some VBScript, I also get 6 items for Range.Value.
Dim xl, r, s
set xl = GetObject( "z:\\tempxp\\tmp.xls")
set r = xl.Worksheets(1).Range ("E5:E10,E35")
Wscript.Echo (LBound(r.Value))
Wscript.Echo (UBound(r.Value))
Looks like you can still access the extra item
using
sht.Range("E5:E10,E35").Cells[6].Value
Roger
_______________________________________________
python-win32 mailing list
python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32