In our own work, we use Microsoft Outlook, Word, Excel, and PowerPoint every day, all day. Often, repetitive tasks get in the way of our creativity, productivity and sanity, and are best accomplished by running well-designed code to take control of an instance of these Microsoft products to perform well-defined tasks. For example, we have reports that require quarterly updates with new numbers, dates, projections, and references. Rather than have a staff member manually update these reports, data runs are scheduled as needed and outputs are automatically added to template Excel and/or Word files, date-stamped, and saved (in native or pdf format) with a new file name. In some cases, we combine automation in Excel/Word with Outlook to email the newly-generated file(s) to appropriate recipient(s). Although, more and more, we post the files to secured, internal shared folders.
While for dynamic and organization-wide reporting, it is best to develop appropriate data and/or visualization dashboards (using Tableau, Microsoft Power BI, IBM Cognos, etc.), for internal office use, limited distribution, and/or confidential reports, it is easier and faster, and less prone to human error, to use automation of Microsoft products.
Here, we have collected our most commonly used lines of Delphi code for getting Excel, Word, PowerPoint, and Outlook to do repetitive tasks for us. They work beautifully! The key requirement is that you have these Microsoft Office products already installed on your computer. We test our code with Delphi 6, Delphi XE, and Delphi 10.1 Berlin. Our code is for the Windows operating environment. We have not, and do not plan to, adapt the code for other operating environments. The code works well with Office 365 versions of Excel, Word, PowerPoint, and Outlook, however, some of our code has been in use since we were using Office 2010 (and continues to work well).
Posted: Saturday, December 5, 2020
Last updated: Tuesday, March 18, 2025