Private Sub Workbook_Open()
Const c_sCaminho = "C:tempBenzadeus.xlsm"
'Desabilita a tecla Ctrl+Break
Application.EnableCancelKey = xlDisabled
If ThisWorkbook.FullName <> c_sCaminho Then
MsgBox "Não é possível criar uma cópia do arquivo '" & _
c_sCaminho & "'. Favor abrir a versão original." _
, vbCritical
ThisWorkbook.Close SaveChanges:=False
End If
End Sub
Resumindo, não existe uma forma segura de garantir que um usuário faça a ação Salvar Como ou simplesmente salve sua pasta de trabalho. Se uma pessoa abrir a pasta de trabalho e desabilitar as macros, não há nada que você possa fazer. No entanto, você pode seguir algumas das dicas abaixo:
1 - Use o código que apresentei acima para a pasta de trabalho abrir apenas num único lugar.
2 - Proteja as planilhas da pasta de trabalho com senha.
3 - Ao abrir a pasta de trabalho, force para que ela seja sempre somente para leitura:
Private Sub Workbook_Open()
ThisWorkbook.ChangeFileAccess xlReadOnly
End Sub
4 - Impeça o usuário de salvar a pasta de trabalho:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = True
End Sub
5 - No Windows Explorer, clique com o botão direito na pasta de trabalho e em seguida Propriedades. Habilita o atributo do arquivo para Somente Como Leitura.
6 - Converse com o administrador da sua empresa e peça pra ele criar um caminho na rede em que somente você tenha permissão de leitura/escrita e os demais usuários apenas leitura.
7 - Coloque uma senha para gravação de sua pasta de trabalho. Para fazer isso, vá no menu salvar como (F12), clique no botão Ferramentas >> menu Opções Gerais e coloque uma senha de gravação.
Felipe Costa Gualberto - http://www.ambienteoffice.com.br
https://social.msdn.microsoft.com/Forums/pt-BR/e6f4e317-8b57-48b8-a81f-61612b015f86/desabilitar-salvar-e-salvar-como-vba-?forum=vbapt
Postado : 09/04/2018 8:47 pm