Jak odblokować makra?

HintMine

Dlaczego nie mogę włączyć makr? Czemu nie da się aktywować makra? Kod VBA został zablokowany?

 

Co oznacza komunikat ZAGROŻENIE BEZPIECZEŃSTWA Firma Microsoft zablokowała uruchamianie makr, ponieważ źródło tego pliku jest niezaufane ?

 

Jeżeli zetknęliście się z tymi pytaniami to znaczy, że ten post jest dla Was :)

 

Jakiś czas temu, wysłałem znajomemu plik Excela z makrem napisanym w VBA. Chwilę później dostałem maila z pytaniem ale jak włączyć te makra?

 

I wcale nie chodziło o standardowe (czyli to pomarańczowe) OSTRZEŻENIE O ZABEZPIECZENIACH, z którym każdy zdążył się już oswoić i z którym wiemy co robić…

 

Znajomy wysłał mi screena, na którym zobaczyłem jakiś nowy różowy komunikat/ostrzeżenie (screen poniżej)

 

makra zablokowane

 

Zrobiłem szybki research i okazało się, że nasz kochany Microsoft wprowadził od kwietnia (od kompilacji Office 2203) super specjalne zabezpieczenie, które ma na celu zablokować każde makro znajdujące się w pliku pobieranym z Internetu. Oczywiście dla naszego bezpieczeństwa…

 

No comment… myślę, że kolejnym krokiem powinna być usługa w Windows, która będzie wyłączała komputer po godzinie 23:00 również dla naszego bezpieczeństwa… wiadomo, nie powinno się siedzieć po nocach na kompie bo można trafić na jakieś niebezpieczne strony… ;)

 

Ok ale tak na poważnie, Microsoft wprowadza aktualizację do Office (do wszystkich wersji od 2013 w górę), która zablokuje wszystkie makra z plików, które przesyłamy sobie mailami i nie chodzi tylko o Excela ale także o Accessa, Powerpointa, Worda itd.

 

Jak odblokować taki plik żeby włączyć makra?

Mały update :)

 

Rozwiązania są 2, najpierw to łatwiejsze (polegające w sumie tylko na klikaniu) :) Ale pamiętajcie, że jeżeli na waszych komputerach nie ma tej opcji, trzeba wykonać bardziej „pro” procedurę którą również wyjaśnię w dalszej części posta.

 

Spos 1 – odblokowanie pliku Excela poprzez klikanie

 

1. Pobieramy plik który zawiera makro (z maila, GDrive czy skąd tam pobieracie) i zapisujemy go na dysku (np. na Pulpicie)

 

2. Klikamy w plik prawym przyciskiem myszy i wybieramy z menu „właściwości”

 

3. W pierwszej karcie tych właściwości (czyli w „ogólne”) na samym dole zobaczycie sekcję „zabezpieczenia” ale uwaga, żeby było śmiesznie, ta sekcja pojawi się tu tylko dla pliku który pobraliśmy z Internetu (w naszych „zwyczajnych” plikach nie będzie tej opcji)

 

4. Zaznaczamy kratkę „Odblokuj” (tak jak na screenie)

 

odblokowanie makr

 

5. Klikamy „zastosuj” i… nagle sekcja „Odblokuj” zniknie. Teraz plik jest bezpieczny ;)

 

6. Otwieramy plik i dopiero teraz włączamy sobie makra z pomarańczowego paska klikając w przycisk „włącz zawartość” (screen poniżej)

 

Na szczęście całą tą procedurę odbezpieczenia musimy wykonać tylko jeden raz.

 

Spos 2 – włączenie makr/odblokowanie pliku za pomocą PowerShell

 

Co zrobić w sytuacji gdy po kliknięciu prawym przyciskiem myszy nie widzimy opcji „odblokuj” albo chcielibyśmy na raz odblokować więcej plików (np. wszystkie Excele znajdujące się w danym katalogu) ?

 

Ktoś powie że można dodać katalog jako „trusted location” i jest to słuszna uwaga :) Trzeba tylko pamiętać, że „trusted location” sprawi, że po otwarciu pliku nie zobaczymy żadnego ostrzeżenia o makrach, i każdy kod zawarty w pliku po prostu się wykona. Ma to swoje plusy ale ma też minusy…

 

Dlatego chciałem Wam pokazać alternatywną metodę, która wyeliminuje różowe ostrzeżenie ale pozostawi pomarańczowe :)

 

Z pomocą przychodzi nam PowerShell.  I zanim ktoś w panice zamknie przeglądarkę (no bo przecież PowerShell to „nie dla mnie”) to… rzućcie choć okiem bo serio nie taki diabeł straszny, to tak na prawdę tylko jedna linia :)

 

Opiszę wszystko w punktach, razem ze screnami:

 

1. Zakładamy bluzę z kapturem (kaptur oczywiście musi być narzucony na głowę) i odpalamy w tle jakiegoś Punk rocka

 

2. Teraz jak już jesteśmy w hackerskim nastroju możemy nacisnąć na klawiaturze skrót „win + r”  (wersja językowa Windowsa nie ma znaczenia, skrót powinien zadziałać na każdej)
skrót klawiszowy win+r


3.
 Po naciśnięciu powyższego skrótu, uważny obserwator (tudzież obserwatorka) zauważy w lewym dolnym rogu ekranu okno „uruchamianie”
okno uruchamianie, run window

 

4. I teraz już poleci z górki :)
Wpisujemy w tym oknie polecenie „powershell” i naciskamy Enter.

Jeżeli nie zrobiliśmy literówki ;) powinno się nam pojawić takie okienko:

powershell window


5.
 I w tym miejscu stosujemy komendę „Unblock-File”

Już podaje jej składnię :)

Dla jednego pliku, który nazywa się np.: „test_001.xlsm” i znajduje się w katalogu „Moje dokumenty” czy tam „Dokumenty” wyglądało by to tak:

Po wpisaniu komendy zatwierdzamy ją naciskając „Enter” i voila plik odblokowany. Po otwarciu pliku nie będzie już różowego ostrzeżenia tylko pomarańczowe :)

 

Jeżeli chcecie odblokować więcej plików warto dodać sobie jeszcze z przodu polecenie dir. Czyli jeżeli chciałbym odblokować wszystkie pliki Excela, które znajdują się w katalogu „Dokumenty\jakies\” piszę coś takiego:

 

Pamiętajcie, że gwiazdki działają tak jak w VBA w operatorze like :) Czyli możemy ich użyć do odblokowania np. tylko tych plików, które mają w nazwie słowo „kura” albo jakąś konkretną liczbę.
Przypuśćmy że moje pliki mają nazwy rozpoczynające się od roku, potem idzie miesiąc i dopiero nazwa pliku np. „20230402_raport_o_kogutach.xlsm” itd. Jeżeli chciałbym odblokować tylko pliki z kwietnia 2023 użyłbym takiej komendy:

 

I to wszystko, mam nadzieję, że Wam się przyda :)

 

Powrót do:
Blog VBA | Podstawy VBA | VBA dla trochę bardziej zaawansowanych |


Zobacz też: