OFFICE AUTOMATION
Ask me for more details on any of these projects!
During my third work term, I took the initiative to create various office automation projects.
Below are some of the interesting projects I was able to contribute to.
Project Spec Completion Checker: This Python-based tool checks each project specification document for a spec number regex pattern and compares referenced documents to included documents and the specification index. It generates either a GUI or Excel-based report of its findings.
Project Spec Builder: This set of Python and MS Office VBA-based tools splits existing specs into sections and generates an Excel-based tool to select the desired sections. It then rebuilds a set of project-specific customized Word document specs containing only the required sections.
Replace Headers: This Word VBA-based tool replaces only the headers of a set of project specification documents. It iterates over a set of Word documents in a specified directory and replaces the headers with pre-defined data. The main use for this tool is to update the dates on all specs when a project release is pushed back, which it can do in under 30 seconds (depending on the number of files).
Tracked Changes Macro: My supervisor asked me to troubleshoot a macro he had written several years prior, which was able to help fix and added some user-friendliness features. This tool can open a set of Word files in any tracked changes viewing form, turn on or off tracked changes for all documents, and save all as any other file type (usually .pdf) with any view type of tracked changes.
Revit and Dynamo Tools: This tool uses several libraries to choose all diffusers, track all dynamically attached ductwork back to the first hydronic reheat coil and first VAV unit, and change their mark (display name) to match the space number they serve.
DB Architecture: This project uses SQLite 3 through Python to create a database architecture to be populated in the future with project commissioning documents. It automatically builds these documents depending on the equipment used in the project. This project was still in progress when I left this position.
I created an instruction manual for each of these projects in the company's file system to ensure that future users can easily understand the design intent and limitations of each program.Â