Why Blog, Why Python & Microsoft Office

This blog describes the tools I have created using Python over about a 5 year period (I can’t really remember how long, but I remember first actively using python to solve a real world office problem).

During this period I have drawn heavily on various forums,  YouTube videos and the like,  so this is my attempt to contribute something back to the community on what I have learned, discovered and curated.

I will say though, this blogging business is harder work than I thought, especially blogging “how-to” stuff.  So “hats off”  and thank you to all those people whose blogs and websites I have visited over the years.

Python & Microsoft Office

I am a project manager who manages people much smarter than myself.  These people  create or change software applications.  In order to understand what they do I have dabbled in coding, mainly in Python.  The problem solving aspect of coding appeals to me.

I also spend most of my day in one of four Microsoft Office application; PowerPoint, Word, Excel and Project.  Some of that time is spent doing tasks I have done many times before or repetitive tasks within an application.

I have therefore been fascinated in automating Microsoft Office using Python; aside the practical use, it also gives my Python coding effort some purpose.

I have tried many of the excellent libraries available (python-docx, xlWings, openpyxl (to name but a few)) but I always find myself coming back to win32com as there is always something that these other modules can’t quite do that win32com, through access to the full MS Object library, can.  However, it comes with some challenges.  This blog describes how I have over come some of these challenges, my answers to questions that I have spent many days pondering over plus a few tips on how to interpret Mircosoft Developer Network (MSDN) object model reference and vba examples within the context of Python programming support.

As I said at the start this is my first venture into blogging so bear with me as I work out how to structure my thoughts and content.