Pergunte aqui
1

BLOQUEAR ACESSO A FOLHA(planilha)

perguntadas 2017-03-11 10:14:28 +0100

imagem do gravatar de msalsinha

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

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

Comentários

Este arquivo é próprio do Calc ou veio do Excel?

imagem do gravatar de SchiavinattoSchiavinatto ( 2017-03-11 17:14:54 +0100 )editar

Arquivo do calc!

imagem do gravatar de msalsinhamsalsinha ( 2017-03-12 00:02:04 +0100 )editar

Oi @msaisinha, se o arquivo não contiver dados sigilosos, poderia me enviar! gilberto@schiavinatto.com

imagem do gravatar de SchiavinattoSchiavinatto ( 2017-03-12 00:48:57 +0100 )editar

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.

imagem do gravatar de msalsinhamsalsinha ( 2017-03-12 19:37:58 +0100 )editar

2 Respostas

0

respondidas 2017-03-14 01:38:13 +0100

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...

editar assinalar como ofensivo Excluir Link mais
0

respondidas 2017-03-14 00:29:33 +0100

imagem do gravatar de msalsinha

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

editar assinalar como ofensivo Excluir Link mais
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2017-03-11 10:14:28 +0100

Lidas: 72 vezes

Última atualização: Mar 14 '17