KWALIFIKACJA INF2 + INF3 - CZERWIEC 2012

PYTANIE NR 12.
Makro arkusza kalkulacyjnego zawiera polecenie ActiveSheet.Unprotect. Wykonanie tego polecenia spowoduje
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
ActiveSheet odnosi się do aktualnie aktywnego arkusza, a polecenie Unprotect służy do zdjęcia jego ochrony. Dlatego wykonanie ActiveSheet.Unprotect powoduje odwołanie ochrony arkusza, a nie włączenie ochrony ani zmianę zabezpieczeń całego skoroszytu.

Pełne wyjaśnienie:

Wywołanie ActiveSheet.Unprotect w makrze dotyczy obiektu, na którym jest wykonywane polecenie. Część ActiveSheet wskazuje, że operacja ma zostać wykonana na bieżącym (aktywnym) arkuszu, a nie na całym pliku.

Metoda Unprotect oznacza zdjęcie (odwołanie) ochrony tego arkusza. W praktyce jest to potrzebne wtedy, gdy arkusz jest zabezpieczony przed edycją, a makro musi wprowadzić zmiany w komórkach, formatowaniu lub w innych elementach arkusza.

Dlaczego pozostałe odpowiedzi są błędne?

  • Odpowiedź o włączeniu ochrony arkusza jest niepoprawna, ponieważ do włączania zabezpieczeń stosuje się inne polecenia (logicznie: "Protect", a nie "Unprotect").
  • Odpowiedź o włączeniu ochrony skoroszytu miesza poziomy ochrony: skoroszyt (plik) to inny obiekt niż arkusz. Polecenie wykonane na ActiveSheet nie zmienia zabezpieczeń skoroszytu.
  • Odpowiedź o odwołaniu ochrony skoroszytu również dotyczy innego obiektu. Zdejmowanie ochrony skoroszytu wykonuje się na obiekcie skoroszytu, a nie na arkuszu.

Wskazówka egzaminacyjna: zawsze czytaj wywołanie od lewej strony. To, co jest przed kropką, mówi na czym działa metoda, a nazwa po kropce mówi co zostanie wykonane.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
ActiveSheet to odwołanie do aktualnie aktywnego arkusza w otwartym skoroszycie. Oznacza, że kolejne polecenie (po kropce) wykona się na arkuszu, który użytkownik ma w danej chwili wybrany, a nie na całym pliku.
Polecenie Unprotect służy do zdjęcia ochrony z obiektu (np. arkusza). Dzięki temu można ponownie edytować elementy, które były zablokowane. W zależności od ustawień może być wymagane podanie hasła.
Ochrona arkusza ogranicza edycję w konkretnym arkuszu (np. komórek, formatowania). Ochrona skoroszytu dotyczy całego pliku i zwykle ogranicza operacje typu dodawanie/usuwanie arkuszy lub zmiany struktury. To różne poziomy zabezpieczeń.
Ponieważ metoda działa na obiekcie wskazanym przed kropką. Skoro jest to ActiveSheet, operacja dotyczy tylko jednego arkusza. Aby zdjąć ochronę skoroszytu, trzeba wykonać polecenie na obiekcie skoroszytu (a nie na arkuszu).
Stosuje się je, gdy makro ma automatycznie zmienić dane lub format w arkuszu, który jest zabezpieczony przed edycją. Typowy schemat to: zdjąć ochronę, wykonać modyfikacje, a następnie ponownie włączyć ochronę, aby użytkownik nie zmienił przypadkowo kluczowych pól.
Może wymagać hasła, jeśli arkusz był zabezpieczony hasłem. Wtedy brak prawidłowego hasła spowoduje, że ochrona nie zostanie zdjęta. Na egzaminie zwykle sprawdza się samo znaczenie polecenia, a nie szczegóły składni z parametrem hasła.
Najczęstsze pomyłki to: mylenie arkusza ze skoroszytem, odczytywanie nazwy metody "na oko" bez analizy obiektu (części przed kropką) oraz automatyczne zakładanie, że "ochrona" dotyczy całego pliku. Warto ćwiczyć rozpoznawanie obiektów.
Zwróć uwagę na nazwę obiektu w kodzie: elementy typu Sheet odnoszą się do arkusza, a elementy typu Workbook do skoroszytu. W pytaniach egzaminacyjnych to zwykle klucz do poprawnej odpowiedzi: obiekt mówi "gdzie" działa polecenie.
W typowej sytuacji część operacji nie wykona się (np. zapis do zablokowanych komórek) albo pojawi się błąd/komunikat o braku możliwości modyfikacji chronionego arkusza. Dlatego w automatyzacji często najpierw zdejmuje się ochronę, wykonuje zmiany i zabezpiecza arkusz ponownie.
Przećwicz podstawowe pojęcia: arkusz vs skoroszyt, ochrona, aktywny arkusz oraz logikę wywołań "obiekt.metoda". Pomaga też nagrywanie prostych makr i porównywanie, jakie polecenia pojawiają się w kodzie przy włączaniu i zdejmowaniu zabezpieczeń.
info

To pytanie poprawnie rozwiązuje 67% zdających egzamin. średnie

Eksperci podkreślają: "ActiveSheet odnosi się do aktualnie aktywnego arkusza, a polecenie Unprotect służy do zdjęcia jego ochrony."

Źródła:

  • Microsoft Learn: Worksheet.Unprotect method (Excel) — https://learn.microsoft.com/en-us/office/vba/api/excel.worksheet.unprotect (dostęp: 2026-03-02)
  • Microsoft Learn: Worksheet.Protect method (Excel) — https://learn.microsoft.com/en-us/office/vba/api/excel.worksheet.protect (dostęp: 2026-03-02)
  • Microsoft Learn: Workbook.Unprotect method (Excel) — https://learn.microsoft.com/en-us/office/vba/api/excel.workbook.unprotect (dostęp: 2026-03-02)

Materiały:

  • Dokumentacja metod ochrony/odblokowania arkuszy i skoroszytów w pakiecie biurowym
  • Ćwiczenia praktyczne: nagranie makra w arkuszu i analiza wygenerowanego kodu
  • Materiały o modelu obiektowym arkusza kalkulacyjnego (arkusz, skoroszyt, bieżący arkusz)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego