La primera idea ( poner una contraseña para acceder al archivo, y en caso que sea errónea,,, que elimine el archivo,,) no será posible protegiendo el libro con clave de apertura. Ya que al ingresar la clave todavía no se ingresa al libro y por lo tanto mucho menos se ejecutará alguna macro que lo elimine. Además me preguntaba si nunca te equivocas al ingresar alguna clave ;) Imaginate eliminando tu propio libro jejeje.
Entonces lo que te sugiero es realizar estos pasos.
1- Tener todas las hojas ocultas, salvo una de Portada, con xlveryHidden para que no se puedan 'mostrar' desde el menú Formato, mostrar hojas.
2- La hoja de Portada (vacía o con algún logo/imagen) tendrá un botón o imagen que solicite clave de acceso. Puede ser con un mini formulario solicitando usuario y clave o un Inputbox para solo la clave. Pero guardate una copia del libro porque no serás el primero en eliminar su propio trabajo por errarle en la clave de ingreso ;) ;)
3- La macro para ese botón de acceso ya la tenés. Solo tendrás que agregar la opción de controlar también la clave. Y en caso de tener los permisos y fecha permitida, ejecutar un código para mostrar el resto de las hojas (ocultar la de Portada es opcional).
4- El código para ocultar todas las hojas se debe colocar tanto en el evento Save, Close y Open. Parece una redundancia. Pero un usuario podría estar trabajando, hacer un guardado y seguir en el libro. Esa copia ya no tendría las hojas ocultas. O bien podría abrir el libro sin ejecutar las macros y en ese caso tampoco se ejecutaría el código para ocultarlas. Por lo tanto es recomendable cubrir todas las situaciones posibles.
Sub ocultando()
Application.ScreenUpdating = False
'mostrar la de Portada 'ajustar nombre
Sheets("PORTADA").Visible = True
'ocultar el resto de las hojas
For Each sh In Sheets
If sh.Name <> "PORTADA" Then sh.Visible = xlVeryHidden
Next sh
End Sub
Sub mostrando()
For Each sh In Sheets
sh.Visible = True
Next sh
End Sub
Sdos!