Beratung und Entwicklung - Mehr Produktivität für Microsoft Office
Consultant and Developer - Get more productivity from Microsoft Office
This project is a typical example how Word, Excel and Outlook can be automated by a Windows Forms application developed with C# 4.0, using a pinch from the Redemption library.
In a Law Firm, the payments arriving on trust accounts have to be processed so that the payment is transferred to the correct destination. The workflow connects accounting (where the payment is processed for the first time), administration (which organizes the outflow) and the attorney (which is responsible for the matter, to which the trust payment is related, and who can solely decide about the destination).
In the future, a SharePoint workflow or another system may proceed all elements in a smooth way. However, for the upcoming two or three years a quick and cheap solution would be of great help for the administration, which currently has to deal with Word form documents and e-mails created manually in a time-consuming way. So the tasks are:
A Windows Forms application was produced using C# 4.0 as programming language. The Redemption library from Dmitry Streblechenko was used to facilitate the creation of e-mails in Outlook (see www.dimastr.com). Additionally I use the NLog library (http://nlog-project.org) for tracing and error logging.
There is a simple user interface, which lets the user select the Excel source and start the processing. All single tasks are run through background workers, so that the user interface can display the current task details and remains responsive (allowing the user to cancel the processing):
The whole project needed 120 hrs for planning, development, administrative tasks and changes after prototyping. At least 40 hrs were due to change requests and additional requirements not calculated at the beginning; on the other hand, I was able to save time in using code fragments from other projects (e.g. communication with the Interwoven API and integration/configuration tasks for the NLog library).
This application is not really appreciated by the IT management, because "it's only used by a handful of users", and "it's a local application not integrated in the big picture". However, the application is an extreme time-saver for this handful, and is saving lot's of hours of moving data from A to B through a manual workflow. At least 3 to 4 hrs per week are saved now in the adminstration. So break-even is reached after 30 weeks.
Here some notes about the application and the office automation it contains.
As usual with this type of application, all references to Office objects must be carefully resolved to prevent memory leaks and issues, especially in Outlook.
Version control is done with Mercurial Tortoise. The MSI installer is created with WIX using MSIFactory from Indigo Rose. Very helpful during development is the LogExpert log file analyzer (http://logexpert.codeplex.com).