Obrigar habilitação...
 
Notifications
Clear all

Obrigar habilitação de macros

4 Posts
2 Usuários
0 Reactions
1,363 Visualizações
(@angelotti)
Posts: 12
Eminent Member
Topic starter
 

Pessoal, boa tarde. Por gentileza, tenho um arquivo excel com várias abas ocultas e para abri-las é necessário senha (conforme abaixo). No entanto se a pessoa escolhe em salvar como e algum outro tipo que não seja "Modelo habilitado para macro do excel" ela consegue perfeitamente acessar as abas sem necessidade de senhas ou então se os macros não forem habilitados ela também consegue. Existe algum método de bloquear isso ou obrigar o excel a salvar como modelo habilitado para macro ? Obrigado

Private Sub Worksheet_Activate()
Cells.Select
Selection.EntireRow.Hidden = True
Dim resp As String
resp = InputBox("Informe a senha - Vísent")
If resp = "" Then Exit Sub
If resp = "2597" Then
Cells.Select
Selection.EntireRow.Hidden = False
Range("a1").Select
Else
MsgBox "Senha Incorreta - Clique na aba Informação Engenharia e posteriormente clique aqui para nova tentativa.", vbCritical, "Desculpe"
fim:
Exit Sub
End If
End Sub

 
Postado : 14/11/2012 12:51 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Se tratando de um único arquivo editado, pode ser possível.

Você deve editar a ribbon do excel.
http://www.rondebruin.nl/ribbon.htm

Att

 
Postado : 14/11/2012 1:05 pm
(@angelotti)
Posts: 12
Eminent Member
Topic starter
 

Alexandre, Obrigado. Eu baixei, porém não estou sabendo como fazer, você tem alguma idéia? Obrigado

 
Postado : 19/11/2012 7:33 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Use o metodo VeryHidden, e salve seu projeto.
http://www.ozgrid.com/Excel/hiding-excel-worksheets.htm
http://www.ozgrid.com/VBA/excel-macro-p ... -sheet.htm

Tentando outra forma..
http://www.ozgrid.com/VBA/disable-cut-copy.htm

Private Sub Workbook_Activate()
Dim oCtrl As Office.CommandBarControl 'Desativar todos os menus Recortar
For Each oCtrl In Application.CommandBars.FindControls(ID:=21)
oCtrl.Enabled = False
Next oCtrl    'Desative todos os menus de Cópia
For Each oCtrl In Application.CommandBars.FindControls(ID:=19)
oCtrl.Enabled = False
Next oCtrl
Application.CellDragAndDrop = False
End Sub
Private Sub Workbook_Deactivate()
Dim oCtrl As Office.CommandBarControl 'Habilita todos os menus Recortar
For Each oCtrl In Application.CommandBars.FindControls(ID:=21)
oCtrl.Enabled = True
Next oCtrl    'Habilita todos os menus de Cópia
For Each oCtrl In Application.CommandBars.FindControls(ID:=19)
oCtrl.Enabled = True
Next oCtrl
Application.CellDragAndDrop = True
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
With Application
.CellDragAndDrop = False
.CutCopyMode = False
End With
End Sub
 
Postado : 19/11/2012 10:21 am