How do you Fish?

I love Microsoft Office products … Excel, Access, Word, PowerPoint, Outlook, Power Apps, Power Automate, the list goes on. I’ve made a career of teaching people how to use these programs in various work environments; state, city, and corporate America, and through that have done my share of consulting and development. But as time goes on, the web and its far-reaching tentacles have made their way into the desktop world, causing software developers like Microsoft to rethink how to optimize their desktop applications for the future. Office 365 is proof of that. The future is based upon the web.

Although I do have a niche, it’s not often you see job postings for Excel automation. Macros are built upon a language called Visual Basic for Applications (VBA). All Office applications offer macros; in Word, Excel, even Outlook! I remember when I built a macro to pull appointments from my Outlook calendar into an Excel worksheet for billing purposes – it was incredibly satisfying and saved me a ton of time. But in this day and age people don’t realize that this kind of automation exists, and most have concluded that the grind of manual sort-filter-copy-paste is just how it is supposed to be – the time people could be saving!

Deciding to take the plunge into Full Stack Javascript (not just backend or frontend, but ALL of it!) was a huge decision for me, part of that financial, but mostly skill-wise. Although I have had experience writing code in VBA with variables, for/while/do loops, arrays, and yes I even tried a class object once, the Excel environment is limiting. Take for example the fact that macros do not run on Excel-online. You have to download an Excel workbook to your desktop and open it to run macros. To show data from an Excel worksheet you have to convert it to an HTML page first, and then post it on a web server. Pulling data directly from an Excel workbook into a web application is not a simple task, requiring special tools. And I’m not saying Microsoft doesn’t have easy to access tools like this available to their customers – programs like Power Apps for building mobile/desktop web apps, or Power Automate for automating workflow tasks to name a few. Microsoft is on the ball and has provided a path for desktop users towards web development. But so far, I’ve only seen these tools used for internal processes. Do the math -> big companies need internal tools, and big companies also need tools for communicating with customers and business partners -> so why not just go with tools that can handle all of that. Makes sense.

After reading this some may think that my plunge into JavaScript was based purely upon necessity because macros have become, or are near to becoming, obsolete and that I will starve if I don’t make the switch. Seriously though, that is far from the truth. I have developed a clientele that are eager to hire me for Excel projects, and in many cases there is no better solution than Excel. So why am I doing this? Well, here is my answer. I can’t stand not knowing how the web ticks. It’s that simple. And, of course the benefits of having the knowledge I’m sure will be an eye-opener, but just to be able to code a web page dynamically, reach into a database across the world with an API, and load the data into objects and arrays – > morphing that into dynamically created pages is about the coolest thing I can think of. Everything else I will be learning is gravy! Javascript, React JS, Redux, Firebase, Wireframing, CSS, HTML, Postgre SQL, Mongo DB, AWS Cloud, Express, nodejs, MySQL, APIs… a life long dream has come true.

In the next post I’ll relate my first month of JavaScript learnings to VBA – however that’s possible. It’s like trying to compare pole fishing with net fishing? There are similarities, and I’ll try my best to share. Stay tuned.

4 thoughts on “How do you Fish?

  1. Laurie you are the best teacher I’ve ever had in my life….
    ❤❤❤❤❤
    Good job sister!
    Love to see you expanding your skills…
    Best wishes❤
    LiL and Tess

Leave a Reply

Your email address will not be published. Required fields are marked *