如何強制excel用戶啟用宏?
問:有時候,我們使用VBA為工作簿編寫了一些功能,但是如果用戶在打開工作簿時不啟用宏設置或者徹底禁用宏,那么這些功能就無法使用。例如,有位網友問我,他想使用雙重保護來保護某工作簿,一重保護是工作簿自帶的保護功能,另一重是用VBA代碼編寫的保護功能,但是如果用戶禁用宏,那么VBA編寫的保護功能就失效了。
如何強制用戶在使用工作簿時啟用宏?
答:我們使用VBA代碼來實現在打開工作簿時提示用戶必須啟用宏,否則工作簿中數據工作表均不可見。
說明:
Auto_Open事件和Auto_Close事件在工作簿打開和關閉時自動運行。
在工作簿關閉時,Auto_Close事件調用RunOnClose過程,隱藏除<啟用宏>工作表之外的其他所有工作表。這樣,再次打開該工作簿時,如果用戶禁用宏,那么工作簿中就會只出現這個工作表。
如果打開工作簿時,用戶啟用宏,那么Auto_Open事件會調用AskUserEnabledMacros過程,隱藏<啟用宏>工作表及用戶不想讓他人看到的工作表,其他工作表可見。