Question posted 2014 · +4 upvotes
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.
Accepted answer +9 upvotes
I’m new to win32com, so I don’t know if this helps… try to start Excel with:
xlApp = win32com.client.gencache.EnsureDispatch("Excel.Application")
This should run makepy, and you can find some resulting Python files in …Libsite-packageswin32comgen_py 0020813-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:
from win32com.client import constants as c
2 code variants in this answer
- Variant 1 — 1 lines, starts with
xlApp = win32com.client.gencache.EnsureDispatch("Excel.Appl… - Variant 2 — 1 lines, starts with
from win32com.client import constants as c
Excel VBA objects referenced (5)
Application— Using events with the Application objectApplication— Working with Other ApplicationsRange— Refer to Cells by Using a Range ObjectRange— Delete Duplicate Entries in a RangeWorksheet— Refer to All the Cells on the Worksheet
Top excel Q&A (6)
- Shortcut to Apply a Formula to an Entire Column in Excel +335 (2011)
- How should I escape commas and speech marks in CSV files so they work in Excel? +136 (2012)
- Convert xlsx to csv in linux command line +96 (2012)
- How to create a link inside a cell using EPPlus +50 (2011)
- IF statement: how to leave cell blank if condition is false ("" does not work) +44 (2013)
- T-SQL: Export to new Excel file +44 (2012)
excel solutions on this site
.