Excel formulas pack a powerful punch, but sometimes you need a little more. You need functionality specific to your business rules or productivity requirements, something that is just not possible with predetermined methods and existing functions. Excel attempts to address this gap with macros, allowing the user to create their own automated tasks with one (BIG) caveat...macros are coded in VBA.
But with less than 5% popularity in the industry, VBA is quite an impediment to actually getting the job done. Enter Macro Editor.
What it does
It does whatever you want! In whatever languages you want!
How we built it
Challenges we ran into
We initially started on a completely different project and took a hard pivot left when we came up with this idea. Ultimately, that resulted in a significant amount of work in a shorter timeline, on a harder project to boot.
From another perspective, as front-end engineers (albeit comfortable in Node.js), we had to move outside our comfort zone, since this project called for a significant portion of server side development to make the app go. And on top of that, trying to add support for languages we were not (yet) fully comfortable with, we were often caught between a fine dance of 'is my script wrong' or 'is the server crashing for another reason'... or both.
Accomplishments that we're proud of
It was a lot of impactful work in a short amount of time.
We're particularly proud of how we were able to bridge the best of both worlds. The power of modern technologies alongside the rich feature set of Microsoft Excel. Its the ultimate combo!
What we learned
This is our third year entering this competition, and we've learned a ton of gotchas over the years. It was great being able to jump into a project and worry about code functionalities, and not add in oddities. With that said, we did gallivant out of our comfort zone and really got to dig into some more advanced Azure features, including the possibilities of building out and scaling up this system.
What's next for Macro Editor
- Keep adding support for additional modern languages
- Saving functions for repeated use
- Editor theme selections
- Integrate with OneDrive
- Submit to store (Macro Editor for all!)