Jump to content

Proteger/desproteger Folhas de Cálculo através de VBA


jtiagodias

Recommended Posts

Viva, boa tarde.

Fiz algumas pesquisas no fórum e, apesar de ter encontrado alguns tópicos relacionados, nenhum me satisfez.

Precisava de, com base em CheckBox, conseguir proteger/desproteger folhas de cálculo de um documento.

A parte do if check box etc eu sei... A questão é mesmo a forma como se dá a instrução de protecção, depois verificar se está protegida e desproteger...

Alguém me pode dar umas dicas???

Obrigado desde já.

Cumprimentos

Link to comment
Share on other sites

Usa o Comando Protect para proteger e Unprotect para desproteger.

Para verificar o estado tens ProtectContents, ProtectDrawingObjects,ProtectionMode, ProtectScenarios e ainda Protection com items para cada um dos vários parametros de Protect .

Podes fazer desta forma:

Metes uma checkBox na folha com o código seguinte:

Private Sub Worksheet_Activate()
    chkProtect.Value = Me.ProtectContents
End Sub

Private Sub chkProtect_Click()
    If chkProtect.Value = True Then
        Me.Protect Contents:=True 'aqui tens muitos mais parametros
    Else
        Me.Unprotect
    End If
End Sub

O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles

Link to comment
Share on other sites

Viva.

Desde já o agradecimento pelo contributo mas quando coloquei o post ainda não sabia muito bem o que queria e portanto não fui suficiente especifico.

O que tenho agora é um form com X CheckBox que correspondem a X Folhas de Cálculo.

Nesse form tenho um botão que actualizará as istruções dadas pelo utilizador.

Qual era o objectivo?

O utilizador colocava o check nas folhas que queria bloquear e essa instrução era processada através de If's com o click no botão. Bem sei que deve have rmaneiras mais fáceis mas é a forma como eu o consigo fazer...

Por isso acho que o teu código não se está bem ajustado a esta situação que, como disse, desconhecias...

Queri aproveitar para perguntar de que forma é que consigo que o utilizador tenha que inserir um código para bloquear a folha de cálculo e depois, para desbloquear, tenha que inserir esse mesmo código...

Obrigado

Cumprimentos

Link to comment
Share on other sites

O procedimento Protect tem a Password no primeiro parametro, e o Unprotect tem a Password como único parametro.

Quanto às checkBoxes, seja na folha de cálculo ou num formulário o código é o mesmo, só que em lugar de Me usas Worksheets("Nome"/Indice).

O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles

Link to comment
Share on other sites

Vou experimentar mas ver se percebi...

Na própria check-box meto o código???

Ou posso pô-lo com um if num botão para executar em difersas folhas de cálculo?

Obrigado pela dica.

O procedimento Protect tem a Password no primeiro parametro, e o Unprotect tem a Password como único parametro.

Quanto às checkBoxes, seja na folha de cálculo ou num formulário o código é o mesmo, só que em lugar de Me usas Worksheets("Nome"/Indice).

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.