Notifications
Clear all

Proteger e desproteger planilha em rede

2 Posts
1 Usuários
0 Reactions
948 Visualizações
(@henry-systems)
Posts: 9
Active Member
Topic starter
 

Buneas a todos.

Não sei se estou no forum correto, pois é a minha primeira vez por aqui.

O que estou precisando.

Tenho um relatório aqui na empresa que está funcionando 100% em rede.

Cada usuário tem a sua tela de cadastro e um único banco de dados fora das telas de cadastro.

Preciso criar uma proteção no banco de dados por senha.
Quando o usuário clica para inserir ou alterar alguma informação via tela de cadastro terá que desbloquear o banco de dados e quando fizer gravar alterações ou novos dados irá proteger automaticamente o banco de dados.

Tenho um código que faz esse trabalho, mas com o banco de dados junto com a tela de cadastro. Estou batendo a cabeça para adaptar o mesmo para que funcione com o banco de dados externo.

Abaixo o código que funciona e que preciso alterar:
Dim BoolProtect As Boolean
Const senha As String = "032164.Systems"

'----------------------------------------------
'Proteger e desproteger planilha

Sub Desprotege_Planilha()
Dim ws As Worksheet
Set ws = Worksheets("NF_EMITIDAS")
BoolProtect = False
'Checa se a planilha esta protegida.
If ws.ProtectContents = True Then
BoolProtect = True
'desprotege a planilha
ws.Unprotect _
Password:=senha
End If
End Sub
Sub Protege_Planilha()
Dim ws As Worksheet
Set ws = Worksheets("NF_EMITIDAS")
' Checa se planilha esta protegida
If BoolProtect = False Then
ws.Protect _
Password:=senha
BoolProtect = False
Else
ws.Protect _
Password:=senha
BoolProtect = True
End If
End Sub

Call Desprotege_Planilha
Call Protege_Planilha

Anexo o cadastro e o banco de dados.

Se puderem dar uma luz agradeço imenso.

Abraços a todos

 
Postado : 04/10/2012 3:25 pm
(@henry-systems)
Posts: 9
Active Member
Topic starter
 

Buenas

Estou tentando alterar o código de proteção e desproteção do código, mas está dando dor de cabeça.

Fiz as alterações abaixo, e agora está dando erro.

Código com a alteração:

'-------senha----
Dim BoolProtect As Boolean
Const senha As String = "032164.Systems"

'----------------------------------------------
'Proteger e desproteger planilha

Sub Desprotege_Planilha()
'Dim ws As Worksheet
'Set ws = Worksheets("NF EMITIDAS")
BoolProtect = False
'Checa se a planilha esta protegida.
If wsCadastro.ProtectContents = True Then
BoolProtect = True
'desprotege a planilha
wsCadastro.Unprotect _
Password:=senha
End If
End Sub

Sub Protege_Planilha()
'Dim ws As Worksheet
'Set ws = Worksheets("NF EMITIDAS")
' Checa se planilha esta protegida
If BoolProtect = False Then
wsCadastro.Protect _
Password:=senha
BoolProtect = False
Else
wsCadastro.Protect _
Password:=senha, AllowFiltering:=True, AllowUsingPivotTables:=True
BoolProtect = True
End If
End Sub

'------fim senhas----

Erro que está dando:
"A Variavel do objecto ou variavel do bloco 'with' não foi definida"
Alguém consegue dar uma luz?

Agradeço.

Att

Buneas a todos.

Não sei se estou no forum correto, pois é a minha primeira vez por aqui.

O que estou precisando.

Tenho um relatório aqui na empresa que está funcionando 100% em rede.

Cada usuário tem a sua tela de cadastro e um único banco de dados fora das telas de cadastro.

Preciso criar uma proteção no banco de dados por senha.
Quando o usuário clica para inserir ou alterar alguma informação via tela de cadastro terá que desbloquear o banco de dados e quando fizer gravar alterações ou novos dados irá proteger automaticamente o banco de dados.

Tenho um código que faz esse trabalho, mas com o banco de dados junto com a tela de cadastro. Estou batendo a cabeça para adaptar o mesmo para que funcione com o banco de dados externo.

Abaixo o código que funciona e que preciso alterar:
Dim BoolProtect As Boolean
Const senha As String = "032164.Systems"

'----------------------------------------------
'Proteger e desproteger planilha

Sub Desprotege_Planilha()
Dim ws As Worksheet
Set ws = Worksheets("NF_EMITIDAS")
BoolProtect = False
'Checa se a planilha esta protegida.
If ws.ProtectContents = True Then
BoolProtect = True
'desprotege a planilha
ws.Unprotect _
Password:=senha
End If
End Sub
Sub Protege_Planilha()
Dim ws As Worksheet
Set ws = Worksheets("NF_EMITIDAS")
' Checa se planilha esta protegida
If BoolProtect = False Then
ws.Protect _
Password:=senha
BoolProtect = False
Else
ws.Protect _
Password:=senha
BoolProtect = True
End If
End Sub

Call Desprotege_Planilha
Call Protege_Planilha

Anexo o cadastro e o banco de dados.

Se puderem dar uma luz agradeço imenso.

Abraços a todos

 
Postado : 15/10/2012 3:24 pm