Python as an Excel scripting language
Let us do scripting with Python! Yay! Not only as an alternative to VBA, but also as an alternative to field functions (=SUM(A1:A2))
Thank you to all those participated in our survey. What an amazing number of responses, many of them with very deep content. We’re processing the over ten thousand responses(!), and already appreciate the time so many of you took to answer with passion and experience.
Please know this survey is used to help influence various topics – both on Python as well as other related topics that the comments started to bleed into. Given the passion, I want to be clear this remains an area of exploration for us, without any specific timeline.
We’ll provide updates as we progress on this feature request.
Lead Program Manager
OK. Truth be told, despite my voting to have Python scripting in Excel, I have since switched jobs, and while I use Python everyday, it's been years since I've opened Excel.
Emre Poyraz commented
I dont think Python should replace Excel functions. Excel functions are very mature and popular.
But how about having a Python based macro ability for excel? This could be an add-on. Python modules for Excel are not good enough to replace VBA.
Peter F commented
VBA is an ancient programming language, using it is no longer practical. IMHO if Microsoft wants to succeed, it needs to adopt to modern computing.
Paul Mulherin commented
Python integration first proposed: 2015.
Last update from Microsoft Devs: 03/2018.
TBH I think we'll see the first manned mission to Mars before we see Microsoft implement Python support for Excel... :)
...or they'll skip Python support entirely in favour of something like Julia:
I would love to see some proper Python scripting supported in Excel.
Any updates on this please?
SUNNY VERMA commented
I dont want to imagine Excel without VBA.
VBA need to update but with python its not sounds good
I can’t tell you how strongly I support this idea! Please make this a reality! 😍
Microsoft does not give a **** about what any of you think. They will never add this feature. It’s been like three years or more since this was announced as an idea.
python together with the already known vba excel object model is my wet dream.
Or, just improve VBA and the editor a little bit.
go to https://youtu.be/f6VqQsfO6E4 and wait no longer!
I am so stoked to go to work in monday!
Kent Maxwell commented
My recommendation is provided Python support in Power Query for Excel, just like it's being now offered in Power Query in Power BI. I do not understand why Power Query is not the same for both products. Why does Power BI get all the new love?
Paul Mulherin commented
PyXLL looks very nice Tony!
Sadly only half of our team use Office for Windows and the rest are running Office for Mac OSX so I'm still waiting for an official, Microsoft-supported Python solution that covers *both* versions of Excel... :-/
Tony Roberts commented
You can use PyXLL, the Python Excel Add-In to do this. You can use it to write user defined function, macros, menus, RTD functions and customise the ribbon all in Python.
You can use it to do anything you can in VBA and more, and it supports all versions of Python.
This would be fantastic if we can use Python in Excel.
Make it so.
That would make excel really awesome.
Combining the tools and easyness of python and the ease of visualisation of excel. Especially in a corporate-environment.
Please do it, this would be an amazing thing!
Yes I agree. Any word yet? Not sure If it has been addressed but IMHO it also needs to integrate the macro recorder with python. The recorder is an excellent way to learn the Excel object model.
Echoing the comments of others, just wondering if there is an update on this
Any updates to this please? When are you planning to Roll it?
Alex Reed commented
Now I can't speak for Mac users, but if you're a Windows' User, you can technically start integrating the whole VBA object model with Python.
For example, if I want to copy between Excel & PowerPoint using Python I can do this with Win32 Python library, this allows us to plugin to the Windows' API and control different objects.
One of the coolest things about this library is that if use it inside of a Jupyter notebook I can run Python code real time inside of my Excel workbook. This means I can make API calls, dump data into Excel or even upload data to a Python object.
If, for example, you wanted to run Pandas real time inside of Excel this is also possible. The only reason I know this is I've written some scripts that will allow me to do this.
Now the documentation for all of this is few and far between; it's just not covered very well. This is why I started making YouTube videos on it because it changes the way we can look at Office and I know people could benefit from it. Using Python with Excel VBA is one of those things for some reason that never got out, and I don't think people ever realized you could do it.
If you want to check out the videos I made a playlist that covers some introduction topics: