Notifications
Clear all

Impedir que usuário desative as macros

19 Posts
4 Usuários
0 Reactions
4,807 Visualizações
(@rodolfohms)
Posts: 13
Active Member
Topic starter
 

Olá pessoal, boa tarde.

Sou novo em VBA e gostaria de saber se há como impedir que o usuário habilite ou desabilite as macros do projeto, pois se ele desabilitar o código não irá funcionar e ele poderá ter acesso a planilhas ocultas do sistema.

Obrigado!

 
Postado : 19/12/2013 10:40 am
(@rodolfohms)
Posts: 13
Active Member
Topic starter
 

Boa atarde!

Mudo o evento.

Private Sub Workbook_Open()
    Cancel = True
    Call Desabilitar_MenuBotaoDireito
    MsgBox "Botão direito do mouse desabilitado"
End Sub

Fonte:
http://www.ozgrid.com/VBA/auto-run-macros.htm

Att

Ao abrir o arquivo aparece a seguinte mensagem: Erro de compilação em módulo oculto: Esta_Pasta_de_Trabalho.

O meu código do Evento Workbook_OPen está assim:

Option Explicit

Private Sub Workbook_Open()

    Application.EnableCancelKey = True

    Plan14.Visible = xlSheetVisible
    Plan1.Visible = xlSheetVeryHidden
    Plan2.Visible = xlSheetVeryHidden
    Plan6.Visible = xlSheetVeryHidden
    Plan7.Visible = xlSheetVeryHidden
    Plan9.Visible = xlSheetVeryHidden
    Plan10.Visible = xlSheetVeryHidden
    Plan11.Visible = xlSheetVeryHidden
    Plan13.Visible = xlSheetVeryHidden
    Plan15.Visible = xlSheetVeryHidden
    Plan16.Visible = xlSheetVeryHidden
    Plan17.Visible = xlSheetVeryHidden
    Plan18.Visible = xlSheetVeryHidden
    Plan19.Visible = xlSheetVeryHidden

With Application
    .DisplayFormulaBar = False ' Desabilita o Menu de fórmula.
    .DisplayStatusBar = False ' Desabilita o Menu de Status.
End With
    
    form_login.Show
    form_login.txt_usuario.SetFocus
    
    Cancel = True
    Call Desabilitar_MenuBotaoDireito
    MsgBox "Botão direito do mouse desabilitado!", vbInformation

End Sub

Obrigado.

 
Postado : 27/12/2013 12:27 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Eu realmente percebi o erro, mas após testar usando o evento Workbook_Open(, eu não tive problemas.

Se poder testar em um arquivo em novo (mas salve-o).

O que eu fiz foi isso.....e nada mais.
Ponha dentro

Private Sub Workbook_SheetBeforeRightClick _ 
    (ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) 
    Cancel = True 
End Sub

Ponha em um módulo comum Esta_Pasta_de_Trabalho.

Sub Desabilitar_MenuBotaoDireito()
    Application.CommandBars("Worksheet Menu Bar").Enabled = False
    Application.CommandBars("Cell").Enabled = False
    Application.CommandBars("Sheet").Enabled = False
    Application.CommandBars("Ply").Enabled = False
    Application.CommandBars("Row").Enabled = False
    Application.CommandBars("Column").Enabled = False
End Sub

Att

 
Postado : 27/12/2013 12:36 pm
(@rodolfohms)
Posts: 13
Active Member
Topic starter
 

Boa tarde!!

Eu realmente percebi o erro, mas após testar usando o evento Workbook_Open(, eu não tive problemas.

Se poder testar em um arquivo em novo (mas salve-o).

O que eu fiz foi isso.....e nada mais.
Ponha dentro

Private Sub Workbook_SheetBeforeRightClick _ 
    (ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) 
    Cancel = True 
End Sub

Ponha em um módulo comum Esta_Pasta_de_Trabalho.

Sub Desabilitar_MenuBotaoDireito()
    Application.CommandBars("Worksheet Menu Bar").Enabled = False
    Application.CommandBars("Cell").Enabled = False
    Application.CommandBars("Sheet").Enabled = False
    Application.CommandBars("Ply").Enabled = False
    Application.CommandBars("Row").Enabled = False
    Application.CommandBars("Column").Enabled = False
End Sub

Att

Alexandre, fiz como você disse e o erro persistiu. Fui executando o código aos poucos e percebi que foi o txt do form que abre com a aplicação que estava com nome errado. Finalmente o problema foi corrigido e está funcionando da forma que eu queria.

Mais uma vez obrigado a você e a todos pela paciência.

Grande abraço,

Rodolfo.

 
Postado : 27/12/2013 1:22 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Caso seja necessário reabrir o tópico, o autor poderá enviar uma MP para um dos moderadores solicitando o desbloqueio.

 
Postado : 27/12/2013 7:21 pm
Página 2 / 2