Wednesday, August 29, 2012

Microsoft Office Automation - Introduction


Nobody likes to do repetitive tasks, especially when time is lost as a clunky html page is required to load between each step. Wouldn’t it be great to automate some of the things you do every day without ever having to see the webpage you are trying to reach? This is the power of automation – reducing the time it takes to perform repetitive tasks by letting a computer (a machine that is designed around repetition) to do it for you.

The problem many face when attempting to automate is the barrier of code and logic. It is not uncommon to hear that one must place 10,000 hours into a coding language before they are capable of writing their own automation scripts. Many wish that there was a simple step-by-step tutorial on how to automate their particular tasks that didn’t require this long and arduous learning curve. The problem is that many of the instructions or forums are written for people who have coding experience, or who have at least a basic understanding of the language.

This is where my blog posts will come in. Over the course of the next several posts I will outline how to automate the Microsoft Office Suite using Visual Basic for Applications. As these articles are written, you can check back here and click on any one to get a further in-depth explanation as to how this can be done. Each post will be written in an attempt to explain concepts to the uninformed, and to make it as easy as possible so that even non-technical users will be able to create their own automation suite.

The majority of this code will be taken from my project to automate purchase tracking during my internship at Adobe. The entire project will be uploaded to this page (after much editing to remove any Adobe information has been completed). Feel free to download it and run it for yourself.

Initially these posts will be a little more technically minded simply because I want to get out the harder concepts before I forget what I have done and my justification behind those actions. After this is complete, I intend to add more explanation for non-techies, and then to write a few posts explaining some common concepts used in this macro.

**A quick note on this process – it is not professional grade coding, and it was never intended to be so. Some other programmer may be able to write something that is more stable, more reusable, and more robust than this. These blog posts are intended to show you what works. If you have questions about how to find information on the web concerning automation, read my other post about searching for useful answers on the web.