How would you start automating my job? How would you start automating my job? windows windows

How would you start automating my job?


There are lots of tools that you could apply here, including Python, Excel macros, VB Script, etc.

In this case, PowerShell seems like an excellent choice, as it naturally combines COM access to Office, .NET, and scripting, and is all-around-awesome. If you already know a suitable technology, you'll get the job done fastest with what you know. Othewise, PowerShell.

(C# 4.0 is also reasonable, although earlier versions suck when interacting with Office's COM interfaces.)

Don't get carried away trying to solve the whole problem at once. Start by picking a small, easy part that gets you a lot of value right away. You are more likely to succeed this way. (To get your boss to agree, you need success fast. If you aren't telling your boss, you need success even faster!). Once you have that done, you can use your new-found free time (maybe only a few minutes per day) to extend your tools and skills to the next bite-sized piece. Success will accelerate success.

In time you will replace monkey with code, and either get a promotion or quit in disgust and get a better job.


The big parts are Excel and email. Excel can be handled with either COM or some sort of interaction with OpenOffice.org. Email, well, there's dozens of ways to do it. My hammer of choice is Python, along with pywin32 or PyUNO, and poplib and smtplib.

Boss... will always be boss. Not always very much you can do about the icky wetware stuff.


I'd start by asking myself the following questions

  1. Does the invoice have to come via email or can there be a web form where the users can enter the data? There is a easy way to put a form on google docs so you can download the response in excel format in a common format set by you. I'm sure there are better ways too.
  2. Does the boss need to create a new spreadsheet of can you provide him with a database app where he can view your form, enter the price, check "approved" and have that fire off the process that puts it in the production db?
  3. Can the interface to the client program be worked around? Can you have some other app call the client
  4. Can the text to the end user be sent by you and not the client app? If so, ca you automate that part

Just some thoughts.