Version 0.6 is now available to download.
This version incorporates the feedback I've gotten from the last couple of versions. It's very soon after 0.5, but I felt there were enough new features to warrant a new release.
Here's a list of the new features:
- Selected Excel macro functions are now available to call from PyXLL. These are xlfGetDocument, xlfGetWorkspace, xlfGetWorkbook, xlfGetWindow, xlfWindows, xlfCaller. They all have the same signature as their C counterparts. If you're not sure what these functions are you probably don't need to. Full documentation will be added later.
- Worksheet functions can now be registered as macro sheet equivalent functions using the keyword argument macro=True. Macro functions have access to the excel macro functions.
- COM support is now built in. There's a new function GetActiveObject to get the Excel COM api corresponding to the Excel process that PyXLL is running in. This is different from calling win32com.client.GetActiveObject("Excel.Application") as that will return any of the running instances of Excel.
- Volatile functions are now supported via the volatile keyword argument to xl_func. These functions are always recalculated regardless of whether their inputs have changed.
- There's a new set of examples showing how you can call back from python to Excel from a menu callback and from a worksheet function.
- A new user module called pyxll-startup is imported before anything else. By putting a file pyxll-startup.py alongside the addin you can run some python code before anything else. This allows you to set the pythonpath to a non-standard location, for example.