The problem being solved in SYSCHECK.XLS is the following:
You have written and installed an Excel system for your end users.
The system consists of several Excel files and perhaps a few non-Excel files, Access MDBs, DLLs, Visual Basic EXEs, whatever.
Unfortunately there are several do-it-yourself types among your users who get a charge out of moving files from one directory to another, deleting "unnecessary" files, renaming files and directories, and reinstalling your system on drives and in directories that you never knew existed. Their next step is to complain loud and long when the system ceases to function. Trying to figure out what they have done to the application, especially over the phone, can be a huge pain in the butt.
Placing error handling routines in your VBA code to be called every time you reference a file is one solution, but it can get very complicated. What about external references in Sheets? Was the workbook closed when they changed the name of an externally referenced file? File names that you have hard coded in VBA will not be updated by Excel under any circumstances.
Use XLA AddIn format to avoid the worst abuses. AND check the entire installation at start up time by calling a modified version of my SystemCheck function from your Auto_open.
The workbook SYSCHECK.XLS contains the function SystemCheck. The ZIP archive SYSCHECK.ZIP contains SYSCHECK.XLS and four dummy system components used to demonstrate how this works. You can easily modify SystemCheck to test your own installations and stop the music in the event that anything is missing.
Your cost: 0. My liability: 0.
Please let me know if you download it, use it, find any bugs in it, get any mileage out of it, improve it. It works. Enjoy.