Not sure of the visibility of this file from the standpoint of your scenario (code needs to run for users within your company's network, code need to run when file is sent to outside vendors, etc.) but you could create a folder somewhere safe, and add it to Excel's Trust Center". Any folder defined there will allow for macros to run automatically without needing to be signed. BUT - doing this could skirt around the reasons Microsoft set up security in this manner; Namely, to keep potentially malicious code from being executed on a device.
If this vba code just needs to be able to be run for folks 'in the office', then such a setup should be no problem; Just create a folder specifically for this file, and add that single file to Excel's Trust Center. I say create a folder for the file so that the Directory added to the trust center has as narrow a focus on where code can be automatically run.
To add such a folder to the Trust Center, Click on the Orb in the upper left-hand corner and choose ExcelOptions --> Trust Center (in left column) --> Trust Center Settings (in main section) --> Trusted Locations (left column again). Here you will find the list of locations where code will automatically run. Simply click the 'Add New Location' button and browse to your folder to add it. Now place your excel file(s) there. Now when they are opened, the Workbook_Open event should fire immediately.
Hope this helps,
Nim