- skoroszyt posiada dwa arkusze- MacroDisabled i MacroEnabled
- w sytuacji gdy skoroszyt jest otwierany z dostępem do makr automatycznie wyświetlony powinien zostać arkusz MacroEnabled. Ten punkt możemy uznać za prosty i oczywisty gdyż wszystko czego potrzebujemy to prosta procedura zdarzenia Private Sub Workbook_Open()
- w sytuacji gdy skoroszyt otwierany jest bez dostępu do makr zawsze wyświetlony ma być arkusz MacroDisabled. Niestety, nie możemy sięgnąć po procedurę zdarzenia gdyż makra są wyłączone.
- z tego samego skoroszytu korzystamy naprzemiennie w opcji Macro Enabled i Macro Disabled
- lista zakładek arkuszowych jest ukryta (opcjonalnie arkusze mogą być ukryte) dlatego też po otwarciu pliku w opcji MacroDisabled nie jesteśmy w stanie ręcznie przejść do arkusza MacroEnabled.
Poniżej prezentuję proponowane rozwiązanie tej sytuacji wraz z dodatkowymi komentarzami.
Krok 1. otwarcie skoroszytu z dostępem do makr (MacroEnabled). Wykorzystamy zdarzenie Open w celu aktywacji arkusza:
Krok 2. zapisanie arkusza w sytuacji, gdy skoroszyt został otwarty w wariancie MacroEnabled. Wykorzystamy zdarzenie Before_Save oraz dodatkową procedurę pomocniczą:
Krok 3. w osobnym module tworzymy zmienną publiczną oraz kod przywracający aktywny arkusz:
Brak komentarzy:
Prześlij komentarz