Usuário com melhor resposta
Pasta de trabalho como leitura para alguns acessos ?

Pergunta
-
Prezados,
tenho uma pasta de trabalho onde várias pessoas precisam de acesso. Algumas dessas pessoas, eu preciso que a mesma seja aberta como somente leitura, e outras como acesso normal para atualização e visualização. Existe alguma rotina onde eu consiga fazer ?
A idéia é criar um formulário, a pessoal entra com nome e senha, nesse acesso que será definido como a pasta deve ser aberta, com leitura ou normal.
Estou usando a seguinte rotina:
Workbook.Open Filename:="Caminho\NomeDoArquivo.XLS", _
ReadOnly:=FalseSó que o meu arquivo toda vez que atualizado o nome muda para data e hora de atualização, existe algo que possa fazer ?
Att,
Estanislau Frade
Att, Estanislau Frade msn: lauedele@hotmail.com email: estanislaufrade@yahoo.com.br estanislau.frade@vale.com
- Editado Estanislau Frade sexta-feira, 17 de agosto de 2012 13:14
Respostas
-
Para saber quem está usando a pasta de trabalho, use o código abaixo:
MsgBox Application.UserName
Descoberto o nome dos usuários que são autorizados a abrir a pasta de trabalho sem ser no modo de leitura, crie uma planilha oculta, auxiliar, que terá esses nomes. Suponha que a planilha se chama Autorizados. Então, na classe da pasta de trabalho, entre com o código abaixo:
Private Sub Workbook_Open() If IsError(Application.Match( _ Application.UserName, _ ThisWorkbook.Sheets("Autorizados").Columns("A"), _ 0)) Then 'Usuário não autorizado ThisWorkbook.ChangeFileAccess xlReadOnly End If End Sub
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
- Marcado como Resposta Estanislau Frade segunda-feira, 20 de agosto de 2012 15:11
Todas as Respostas
-
-
Felipe,
o problema não é na hora de salvar, é quando ela é aberta, preciso que abra com leitura para determiandos usuários e para mim, ela abre normalmente, pois quando eu precisar alterar, não fique bloqueada por a mesma ser utilizada por outra pessoa.
Att,
Estanislau
Att, Estanislau Frade msn: lauedele@hotmail.com email: estanislaufrade@yahoo.com.br estanislau.frade@vale.com
-
Para saber quem está usando a pasta de trabalho, use o código abaixo:
MsgBox Application.UserName
Descoberto o nome dos usuários que são autorizados a abrir a pasta de trabalho sem ser no modo de leitura, crie uma planilha oculta, auxiliar, que terá esses nomes. Suponha que a planilha se chama Autorizados. Então, na classe da pasta de trabalho, entre com o código abaixo:
Private Sub Workbook_Open() If IsError(Application.Match( _ Application.UserName, _ ThisWorkbook.Sheets("Autorizados").Columns("A"), _ 0)) Then 'Usuário não autorizado ThisWorkbook.ChangeFileAccess xlReadOnly End If End Sub
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
- Marcado como Resposta Estanislau Frade segunda-feira, 20 de agosto de 2012 15:11