I'm using python 2.7 win32com module to load an MS Excel worksheet from Python:
book = xlApp.Workbooks.Open("myFile.xls")
sheet = book.Sheets(1)
Many methods and properties of Range, Worksheet etc use enumerations like XlDirection, XlFillWith, and so forth. These define constants such as xlDown, xlUp, xlFillWithContents, etc. Are those constants available from win32com so that I could do, for example:
column = outputsSheet.Range("I5:I150")
lastRow = column.End(xlInterop.xlDown)
print "Last row:", lastRow.Row
This doesn't work because xlInterop is not defined, is there a way to access it using win32com? Discovering the values of such constants as xlDown by trial and error is not very practical.
I'm new to win32com, so I don't know if this helps... try to start Excel with:
This should run makepy, and you can find some resulting Python files in ...\Lib\site-packages\win32com\gen_py\00020813-0000-0000-C000-000000000046x0x1x7 (last folder might be another name for you, I dont know). Check the init.py file, there's a bunch of constants defined there.
Edit: you can access these constants with:
Edit2: path to folder:
win32com.__gen_path__
Olav's answer enabled me to do a search on keywords "win32com gencache EnsureDispatch constants" and I found a few useful links. Like How do I import a COM object namespace/enumeration in Python?, which my question duplicates. This points to an ActiveState page Quick Start to Client side COM and Python with intro to this stuff. Oddly, that page states that client.Dispatch should be sufficient to get constnats, but I found it wasn't, I had to run gencache.EnsureDispatch, only then did the constants appear: