Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Por Arthurdr
#54298
Criei uma planilha com macro que vou utilizar na minha empresa, muitas pessoas vão visualizar a planilha, mas somente eu posso alterar. Gostaria de saber se tem alguma forma de abrir em somente leitura para os outros. Já tentei usar a senha de gravação para abrir como somente leitura, mas abre como se n tivesse senha.
Tem alguma forma de restringir o acesso para somente eu conseguir fazer alterações na planilha? Ou alguma senha em que caso errada abra em somente leitura?
Avatar do usuário
Por AfonsoMira
Posts Avatar
#54300
Boa tarde.

Experimente inserir o seguinte código no Sub Workbook_Open
Código: Selecionar todos

If Application.UserName <> "SeuNomeDeUtilizador" Then

ThisWorkbook.ChangeFileAccess Mode:=xlReadOnly

End If
Onde diz "SeuNomeDeUtilizador" , substitua pelo seu nome de utilizador.

Uma maneira de descobrir qual é, é com a seguinte macro, na caixa immediate:
Código: Selecionar todos
?Application.UserName
Isto irá fazer com que quando o ficheiro não é aberto no seu computador ele automaticamente passa para apenas leitura.

Alguma dúvida só dizer.

:D
Por andriessen
Posts
#54319
Poderia também proteger todas as células (Botão direito - Formatar Células - Segurança (permitindo que se acione as células bloqueadas) . Ou Proteger a Plan toda no rodapé.
Por Arthurdr
#54325
AfonsoMira escreveu:Boa tarde.

Experimente inserir o seguinte código no Sub Workbook_Open
Código: Selecionar todos

If Application.UserName <> "SeuNomeDeUtilizador" Then

ThisWorkbook.ChangeFileAccess Mode:=xlReadOnly

End If
Onde diz "SeuNomeDeUtilizador" , substitua pelo seu nome de utilizador.

Uma maneira de descobrir qual é, é com a seguinte macro, na caixa immediate:
Código: Selecionar todos
?Application.UserName
Isto irá fazer com que quando o ficheiro não é aberto no seu computador ele automaticamente passa para apenas leitura.

Alguma dúvida só dizer.

:D

Desculpe a demora para uma resposta.
Utilizei este código, mas quando abro aparece um erro:
"Erro em tempo de execução '1004':
O método 'ChangeFileAccess' do objeto '_Workbook' falhou"

Ai apertando em fim, ele abre o arquivo com um 1 no final, exemplo: arquivo "planilha", ele abre como "planilha1".
terai como tirar este erro?
Avatar do usuário
Por AfonsoMira
Posts Avatar
#54341
Bom dia.

Experimente este código.

Caso o erro persista por favor diga.
Código: Selecionar todos
'Nome de utilizador
utilizador = Application.UserName
'Nome do ficheiro
filepath = Application.ActiveWorkbook.FullName

'Se utilizador for diferente do seu Nome de Utilizador então
If utilizador <> "SEU_NOME_DE_UTILIZADOR" Then

Workbooks.Open Filename:=filepath, ReadOnly:=True

Else

Workbooks.Open Filename:=filepath, ReadOnly:=False

End If
Por Arthurdr
#54344
Utilizando o código ele prosseguia com erro. Eu coloquei senha em todas as abas, acredito que vai funcionar, fiz alguns testes e deu certo.
Gostaria de saber, por que o arquivo abre com o número 1 no final de eu nome, como fosse uma cópia?
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord