My understanding of the difference between the links: Pytools in general lets you run Python programs in Visual Studio. Pyvot is a part of Pytools that lets any Python code on Windows (including code run in Visual Studio) connect to Excel.
I still have a soft spot for VBA, especially in Excel. I wrote a supply-chain management application in Excel+VBA that's still in production today. As comfortable as I am with VBA, I wouldn't mind in the least ditching it for Python, which makes writing routine methods trivial. Great work!
Thanks for this - it indeed looks much more powerful (being able to interact with Excel using Python as well as making python functions available to Excel).
The big question I have is why would I use this instead of a real database. If i am not mistaken excel can hook up to ODBC sources and then I can just script things as I normally would using the database drivers.
This isn't necessary, you can have access to the full Excel COM API, with tab-completion, backwards-compatibility etc, for free with iPython and the makepy.py script.
If you want to call Python functions from Excel in the form of user defined functions, macros or menu functions (including macros bound to UI widgets and application events) you should take a look at PyXLL (www.pyxll.com).
This has been around for a couple of years now and actively maintained and supported, and is in use by many organisations already. It supports all versions of Excel from 2000 onwards, with some features only available in later versions (eg asynchronous functions are only in Excel 2010).
It uses cPython so all the standard libraries are usable.
Calling back into Excel is quite straightforward using win32com, and there are examples on the website that show how to do that.
With PyXLL you can write plain Python code that you can use outside Excel as well - so it's quite easy to write a library of functions that can be called from normal Python scripts as well as expose them to Excel at the same time.
I'm not sure what this project adds over what's already available but I'd be very interested to hear what other people's opinons are.
Our goal is to replace VBScript. We'll have the same basic functionality, but using Python instead of VB, and with access to all of Python's libraries.
It's backwards compatible too - you can run VBA scripts and Python scripts at the same time.
Awesome. You may already know, but a huge proportion of the large finance firms are still stuck with 2003 and from speaking to a few people, they don't seem super ready to change. Given you are planning on selling it, these guys would probably be decent customers.
Ask Apple for something equivalent of Windows COM+ and convince them they have a good reason for doing so once they stop laughing, and then you might have it.
I realize this isn't the same thing, but a lot of Mac apps are scriptable through Apple's Open Scripting Architecture [1], so it's more than possible to use Python [2] or Ruby [3] or any other language with an OSA bridge to access and reuse application functionality or to automate tasks. According to Wikipedia, Microsoft Office 2008 supports OSA, so it's worth investigating with Microsoft Office 2011. You can use the ASDictionary app from the appscript page [4] to see what scriptable functionality, if any, various Microsoft Office for Mac applications support.
From a conversation with them, they are intending to charge around $2000/seat/month. This takes it out of the realm of possibility for me, but http://excel-dna.net/ looks like it will fit the bill with a little elbow grease.
Video: http://www.youtube.com/watch?v=Oi3QKuFugWk&hd=1
edit - link to project: http://pytools.codeplex.com