BLOQUEAR ACESSO A FOLHA(planilha)

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.

Um arquivo teste…