Olá
Precisava de bloquear o acesso a uma determinada folha(planilha).
Ex.:Abrimos um documento do calc na folha1 e se tentarmos abrir a folha2 somos bloqueados no acesso com uma password.
Alguém pode me ajudar? Obrigado
Olá
Precisava de bloquear o acesso a uma determinada folha(planilha).
Ex.:Abrimos um documento do calc na folha1 e se tentarmos abrir a folha2 somos bloqueados no acesso com uma password.
Alguém pode me ajudar? Obrigado
Este arquivo é próprio do Calc ou veio do Excel?
Arquivo do calc!
Oi @msaisinha, se o arquivo não contiver dados sigilosos, poderia me enviar! gilberto@schiavinatto.com
Eu ainda não construí nada de concreto, mas o que pretendo construir é uma folha com um formulário(folha1) e outra folha com configurações(folha2), onde apenas quem tiver permissão possa aceder e editar. Na intenção deste documento ser utilizado por várias pessoas e qualquer pessoa poder aceder à folha1 mas na folha2 que terá comandos de configuração apenas aceder quem tenha conhecimentos suficientes para editar sem destruir nada de importante.
Já encontrei algo muito próximo do que pretendo e já editei algumas partes, infelizmente fiquei bloqueado em duas partes: na verificação da palavra passe e no envio de volta para a folha1 se for colocada a palavra passe errada.
sub PASSWORD
' Criar o diálogo
oDialog = CreateUnoService("com.sun.star.awt.UnoControlDialog")
oDialogModel = CreateUnoService("com.sun.star.awt.UnoControlDialogModel")
oDialogModel.setPropertyValues( _
Array("Height","PositionX","PositionY","Title","Width"), _
Array(50,200,150,"Insira a sua senha",100))
oDialog.setModel(oDialogModel)
' Criar a caixa de texto (oEditModel) que receberá a senha.
oEditModel = oDialogModel.createInstance("com.sun.star.awt.UnoControlEditModel")
oEditModel.setPropertyValues( _
Array("EchoChar","Height","PositionX","PositionY","Width"), _
Array(asc("*"),15,5,5,90) )
oEditModel.EchoChar = asc("*")
oDialogModel.insertByName("PasswordEdit",oEditModel)
' Criar o botão "Cancelar" e o botão "Ok"
oOKButton = oDialogModel.createInstance("com.sun.star.awt.UnoControlButtonModel")
oOKButton.setPropertyValues( _
Array("DefaultButton","Height","Label","PositionX","PositionY","PushButtonType","Width"), _
Array(True,15,"~OK",55,25,1,40))
oDialogModel.insertByName("OkButton",oOKButton)
oCancelButton = oDialogModel.createInstance("com.sun.star.awt.UnoControlButtonModel")
oCancelButton.setPropertyValues( _
Array("Height","Label","PositionX","PositionY","PushButtonType","Width"), _
Array(15,"~Cancelar",5,25,2,40))
oDialogModel.insertByName("CancelButton",oCancelButton)
oSheet = ThisComponent.Sheets.getByName("folha1")
' Exibir o diálogo
oDialog.setVisible(True)
If oDialog.execute() = 1 Then
MsgBox "SENHA ACEITE",48,"ATENÇÃO!"
else
MsgBox "SENHA INVÁLIDA",48,"ATENÇÃO!"
GoTo
oSheet
End If
End Sub
Pelo que entendi, a folha1 é um formulário e a folha2 terá as opções de validação, é isso ?
Se SIM, você pode proteger toda a folha2 com senha e ainda ocultar, mesmo que a pessoa saiba como mostrar a folha2, ela estará protegida contra alterações.