Wielu metod ochrony pliku Excela przed wprowadzaniem nieuprawnionych zmian opiera się na makrach i/lub kodzie VBA. Wszystko działa dobrze i sprawnie pod warunkiem, że otwierający plik użytkownik ma włączone makra. Nie da się tego zrobić automatycznie (i dobrze, szczególnie w przypadku plików nieznanego pochodzenia), ale jak spowodować, żeby użytkownik sam to zrobił? Trzeba spowodować, aby plik był bezużyteczny i tylko włączenie makr pozwoli na pracę.
Szczegóły mogą być tu różne, ale generalnie podstawowe zasady powinny wyglądać tak:
-
- wszystkie arkusze ukryte kodem VBA
- jeden dodatkowy arkusz startowy, z przyciskiem makra włączającego dostęp do skoroszytu czyli odkrywające arkusze robocze i zakrywające arkusz startowy. Jeżeli makra będą wyłączone – makro nie zadziała.
- makro przy zdarzeniu przed zamknięciem skoroszytu (Workbook_BeforeClose) ukrywające wszystkie arkusze robocze i odkrywające arkusz startowy.
To powinno wystarczyć. Wszystkie inne sposoby ochrony pliku można dostosować do własnych potrzeb.