Partilhar via


Proteger pastas de trabalho programaticamente

Você pode proteger uma pasta de trabalho do Microsoft Office Excel para que os usuários não possam adicionar ou excluir planilhas e também desproteger a pasta de trabalho programaticamente. Opcionalmente, você pode especificar uma senha, indicar se deseja proteger a estrutura (para que os usuários não possam mover planilhas) e indicar se deseja proteger as janelas da pasta de trabalho.

Aplica-se a: As informações neste tópico se aplicam a projetos de nível de documento e projetos de suplemento VSTO para Excel. Para obter mais informações, consulte Recursos disponíveis por aplicativo e tipo de projeto do Office.

A proteção de uma pasta de trabalho não impede que os usuários editem células. Para proteger os dados, você deve proteger as planilhas. Para obter mais informações, consulte Como: proteger planilhas programaticamente.

Os exemplos de código a seguir usam uma variável para conter uma senha que é obtida do usuário.

Proteger uma pasta de trabalho que faz parte de uma personalização em nível de documento

Para proteger uma pasta de trabalho

  1. Chame o Protect método da pasta de trabalho e inclua uma senha. Para usar o exemplo de código a seguir, execute-o ThisWorkbook na classe, não em uma classe de planilha.

    this.Protect(getPasswordFromUser, missing, missing);
    

Para desproteger uma pasta de trabalho

  1. Chame o Unprotect método, passando uma senha se for necessário. Para usar o exemplo de código a seguir, execute-o ThisWorkbook na classe, não em uma classe de planilha.

    this.Unprotect(getPasswordFromUser);
    

Proteger uma pasta de trabalho usando um suplemento no nível do aplicativo

Para proteger uma pasta de trabalho

  1. Chame o Protect método da pasta de trabalho e inclua uma senha. Este exemplo de código usa a pasta de trabalho ativa. Para usar este exemplo, execute o ThisAddIn código da classe em seu projeto.

    this.Application.ActiveWorkbook.Protect(getPasswordFromUser);
    

Para desproteger uma pasta de trabalho

  1. Chame o Unprotect método da pasta de trabalho ativa, passando uma senha, se necessário. Para usar este exemplo, execute o ThisAddIn código da classe em seu projeto.

    this.Application.ActiveWorkbook.Unprotect(getPasswordFromUser);