Udostępnij za pośrednictwem


Programowa ochrona arkuszy

Funkcja ochrony w programie Microsoft Office Excel ułatwia użytkownikom i kodom modyfikowanie obiektów w arkuszu. Domyślnie wszystkie komórki są zablokowane po włączeniu ochrony.

Dotyczy: informacje w tym temacie dotyczą projektów na poziomie dokumentu i projektów dodatków VSTO dla programu Excel. Aby uzyskać więcej informacji, zobacz Funkcje dostępne przez aplikacja pakietu Office lication i typ projektu.

W dostosowaniach na poziomie dokumentu można chronić arkusze przy użyciu projektanta programu Excel. Można również programowo chronić arkusz w czasie wykonywania w dowolnym typie projektu.

Uwaga

Nie można dodać kontrolek formularzy systemu Windows do obszarów arkusza, które są chronione.

Korzystanie z projektanta

Aby chronić arkusz w projektancie

  1. W grupie Zmiany karty Przegląd kliknij pozycję Chroń arkusz.

    Zostanie wyświetlone okno dialogowe Chroń arkusz . Możesz ustawić hasło i opcjonalnie określić niektóre akcje, które użytkownicy mogą wykonywać za pomocą arkusza, na przykład sformatować komórki lub wstawić wiersze.

    Możesz również zezwolić użytkownikom na edytowanie określonych zakresów w chronionych arkuszach.

Aby zezwolić na edytowanie w określonych zakresach

  1. W grupie Zmiany karty Przegląd kliknij pozycję Zezwalaj użytkownikom na edytowanie zakresów.

    Zostanie wyświetlone okno dialogowe Zezwalaj użytkownikom na edytowanie zakresów . Można określić zakresy, które są odblokowane przy użyciu hasła, oraz użytkowników, którzy mogą edytować zakresy bez hasła.

Używanie kodu w czasie wykonywania

Poniższy kod ustawia hasło (przy użyciu zmiennej getPasswordFromUser, która zawiera hasło uzyskane od użytkownika) i zezwala tylko na sortowanie.

Aby chronić arkusz przy użyciu kodu w dostosowywaniu na poziomie dokumentu

  1. Wywołaj metodę Protect arkusza. W tym przykładzie założono, że pracujesz z arkuszem o nazwie Sheet1.

    Globals.Sheet1.Protect(getPasswordFromUser, true);
    

Aby chronić arkusz przy użyciu kodu w dodatku VSTO

  1. Wywołaj metodę Protect aktywnego arkusza.

    ((Excel.Worksheet)Application.ActiveSheet).Protect(getPasswordFromUser, true);