Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Usuwanie makra

Termin Definicja
Usuwanie makra

Usuwanie makra to trwałe skasowanie kodu automatyzującego z dokumentu lub szablonu.

Gdzie fizycznie leży kod, który chcemy skasować

Makra pakietu Office to procedury języka VBA zapisane w projekcie osadzonym w pliku. Widać je po naciśnięciu Alt+F11, które otwiera edytor Visual Basic — w oknie Project Explorer po lewej stronie każdy otwarty dokument ma własną gałąź z modułami, formularzami i sekcjami przypisanymi do arkuszy. Usunięcie pojedynczej procedury sprowadza się do skasowania jej treści w module, natomiast cały moduł kasuje się prawym przyciskiem myszy i poleceniem Remove; program zapyta jeszcze, czy wyeksportować kod do pliku .bas przed skasowaniem.

Prostsza droga prowadzi przez skrót Alt+F8, który pokazuje listę dostępnych makr z przyciskiem Usuń. Ma jednak ograniczenie: nie widać tam procedur ukrytych ani zdarzeń przypisanych do obiektów, więc lista bywa niepełna.

Dokument, szablon i skoroszyt osobisty

Zasadnicze pytanie brzmi, gdzie kod jest przechowywany, bo od tego zależy, czy wróci po restarcie. Makro zapisane w konkretnym pliku ginie razem z nim — wystarczy zapisać dokument w formacie bez obsługi makr, czyli .docx zamiast .docm albo .xlsx zamiast .xlsm, a cały projekt VBA zostanie odrzucony przy zapisie i program o tym uprzedzi.

Inaczej wygląda sprawa z magazynami globalnymi. W Wordzie jest to szablon Normal.dotm w katalogu %APPDATA%\Microsoft\Templates, w Excelu skoroszyt PERSONAL.XLSB ładowany z folderu XLSTART. Kod stamtąd uruchamia się przy każdym starcie programu niezależnie od otwieranego dokumentu, więc kasowanie makra z samego pliku nic nie daje. Trzeba wejść w projekt szablonu globalnego albo, przy uszkodzeniu, zamknąć pakiet i skasować sam plik szablonu — zostanie odtworzony automatycznie w stanie domyślnym.

Kiedy makro nie chce zniknąć

Pierwsza przeszkoda to zablokowany projekt: przy próbie rozwinięcia gałęzi edytor prosi o hasło ustawione we właściwościach projektu VBA. Bez niego kodu nie da się ani obejrzeć, ani usunąć w normalnym trybie. Druga to procedury automatyczne o nazwach AutoOpen, AutoExec czy Document_Open, które odpalają się w momencie otwarcia pliku — jeśli podejrzewamy złośliwy kod, dokument należy otwierać z wyłączoną obsługą makr, inaczej kasowanie odbywa się już po infekcji.

Trzecia sprawa dotyczy plików pobranych z sieci. Windows oznacza je znacznikiem pochodzenia, przez co pakiet blokuje makra całkowicie i wyświetla czerwony pasek zamiast przycisku włączenia zawartości. To nie usterka, lecz zabezpieczenie — odblokowanie w oknie właściwości pliku powinno następować tylko wtedy, gdy źródło jest pewne.

Czyszczenie stacji po infekcji makrowirusem

Typowe zgłoszenie wygląda tak: użytkownik otworzył załącznik z rzekomą fakturą, a od tej pory każdy tworzony dokument zawiera makro i próbuje ściągać pliki z internetu. Sprawdzamy wtedy szablon globalny, katalogi automatycznego startu pakietu oraz wpisy uruchamiane przy logowaniu, usuwamy kod ze wszystkich zainfekowanych dokumentów i ustawiamy zasady Centrum zaufania tak, żeby makra z sieci pozostały zablokowane. Skanujemy również dysk poza uruchomionym systemem, bo część takich infekcji dokłada element utrzymujący się poza plikami pakietu biurowego. Na czas pracy udostępniamy laptop zastępczy, żeby firma nie stanęła na kilka dni.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę