Put all this code into a standard module, so its scope will be the entire application. In general, you get Access to read and execute each Sub or Function simply by referencing it in the normal way anywhere in VBA code, or in certain other contexts (such as query criteria). For this particular code, I simply display the module in Design view, position the insertion point at the top of the Sub I want to run (LockIt or UnlockIT), and press F5. The change takes effect the next time the database is opened.
Preventing import or export of objects could be done by turning off Display Full Menus, Display Database Window and Allow Special Access Keys in Startup Options. If your users are sophisticated enough to know about the Shift key bypass, you will also need to keep a production copy (in which to do maintenance) and a working copy (which will have the AllowBypassKey property set to False). Once you set the AllowBypassKey property to False and close the database, you will never be able to view or manipulate that copy's objects again, so it is crucial that you maintain the production copy for maintenance.
Another issue with all this is that whenever you do maintenance on the production copy and use it to create a new working copy, you will wipe out the table data in the existing working copy. The only solutions to that conundrum that I'm aware of are either keeping all the data in another (back end) database and linking your application to it, or utilizing some more complex login/password security regimen (either the cumbersome but effective system built into Access or another one you design or buy).
Hope this helps.