• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

jtiagodias

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

5 mensagens neste tópico

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora