Como Desbloquear Planilha Excel

Embed Size (px)

DESCRIPTION

desbloquear planilha excel

Text of Como Desbloquear Planilha Excel

DESBLOQUEAR PLANILHA

O primeiro modo atravs de macro. Voc precisa entender um pouco de macro ou pelo menos ler este post, onde explico como criar uma macro simples.

Na verdade voc precisar apenas pressionar Alt + F11 para abrir o Visual Basic, que quem gerencia as macros do Excel. Em seguida voc ir clicar duas vezes no item que tem fundo azul na imagem abaixo:: (Esta_pasta_de_trabalho):

Ao fazer isto, ser aberto do lado direito um painel. Voc ir ento copiar e colar o cdigo abaixo:

Sub DesprotegerPlanilhaAtiva()Dim i, i1, i2, i3, i4, i5, i6 As Integer, j As Integer, k As Integer, l As Integer , m As Integer, n As IntegerOn Error Resume NextFor i = 65 To 66For j = 65 To 66For k = 65 To 66For l = 65 To 66For m = 65 To 66For i1 = 65 To 66For i2 = 65 To 66For i3 = 65 To 66For i4 = 65 To 66For i5 = 65 To 66For i6 = 65 To 66For n = 32 To 126ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr (i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)If ActiveSheet.ProtectContents = False ThenMsgBox Planilha desprotegida com sucesso!!!Exit SubEnd IfNextNextNextNextNextNextNextNextNextNextNextNextEnd SubAps colar o cdigo ele ficar mais ou menos assim:

Feito isso, pode fechar o Visual Basic. Agora selecione a planilha que voc deseja desbloquear (clique sobre o nome dela). Em seguida v at a guia Exibio, item Macros. Voc ver que aparecer uma macro com nome DesprotegerPlanilhaAtiva:

Clique sobre o boto Executar e aguarde alguns segundos. Se tudo deu certo, voc ver a mensagem abaixo:

Caso voc precise desbloquear mais de uma planilha, voc ter que fazer este processo uma a uma. Se preferir, voc pode voltar janela de Macros e criar uma tecla de atalho. Para isso, v at o boto Opes dentro da janela e defina a sua tecla de atalho preferida.

UPDATE: muitos leitores entraram em contato dizendo que o cdigo mencionado acima d erro na linha em vermelho abaixo:

Caso isto acontea com voc, bem simples de resolver: que por algum motivo, que no sei dizer qual, o Excel no cola as aspas de maneira correta. Voc s precisa apagar as aspas e digit-las novamente. Faa o teste e deixe comentrio dizendo se deu certo ou no.Obs: a partir da verso 2007, documentos que contenham macros devem ser salvos em um formato especfico, chamado Pasta de Trabalho habilitada para macro do Excel, cuja extenso .xlsm. Se voc tentar salvar neste momento, aparecer uma janela avisando sobre este fato. Voc ter duas opes neste caso: a primeira clicar em No e escolher o formato habilitado para macros do Excel. A segunda voltar ao Visual Basic e excluir todo cdigo. Assim voc poder salvar normalmente.

DESBLOQUEAR PLANILHA E ABA EXCEL WORKSHEET

O cdigo abaixo pode desbloquear uma senha pasta de trabalho e senhas de folha. Para us-lo, copi-lo para um novo mdulo de cdigo geral. Para desbloquear uma senha pasta de trabalho, activar o livro a ser desbloqueado e executar a macro:

UnlockWorkbook

Para desbloquear uma folha, ativar a folha e executar a macro:

UnlockSheet

O cdigo segue abaixo.

'modUnlockRoutines

'

'Module fornece livro do Excel e rotinas de folha de desbloqueio. O algoritmo

'Depende de uma senha backdoor que pode ser 1-9 caracteres onde cada

"Carter ou um" A "ou" B ", exceto a ltima que pode ser qualquer personagem

'Do cdigo ASCII 32-255.

'

'Implementado como um mdulo regular para uso com qualquer projeto Excel VBA.

'

'Dependncias:

'

' NenhumCODIGO

Private Sub DisplayStatus(ByVal PasswordsTried As Long)

' Display the status in the Excel status bar.

'

' Syntax

'

' DisplayStatus(PasswordsTried)

'

' PasswordsTried - The number of passwords tried thus far.

Static LastStatus As String

LastStatus = Format(PasswordsTried / 57120, "0%") & " of possible passwords tried."

If Application.StatusBar LastStatus Then

Application.StatusBar = LastStatus

DoEvents

End If

End Sub

Private Function TrySheetPasswordSize(ByVal Size As Long, ByRef PasswordsTried As Long, ByRef Password As String, Optional ByVal Base As String) As Boolean

' Try unlocking the sheet with all passwords of the specified size.

'

' TrySheetPasswordSize(Size, PasswordsTried, Password, [Base])

'

' Size - The size of the password to try.

'

' PasswordsTried - The cummulative number of passwords tried thus far.

'

' Password - The current password.

'

' Base - The base password from the calling routine.

Dim Index As Long

On Error Resume Next

If IsMissing(Base) Then Base = vbNullString

If Len(Base) < Size - 1 Then

For Index = 65 To 66

If TrySheetPasswordSize(Size, PasswordsTried, Password, Base & Chr(Index)) Then

TrySheetPasswordSize = True

Exit Function

End If

Next Index

ElseIf Len(Base) < Size Then

For Index = 32 To 255

ActiveSheet.Unprotect Base & Chr(Index)

If Not ActiveSheet.ProtectContents Then

TrySheetPasswordSize = True

Password = Base & Chr(Index)

Exit Function

End If

PasswordsTried = PasswordsTried + 1

Next Index

End If

On Error GoTo 0

DisplayStatus PasswordsTried

End Function

Private Function TryWorkbookPasswordSize(ByVal Size As Long, ByRef PasswordsTried As Long, ByRef Password As String, Optional ByVal Base As String) As Boolean

' Try unlocking the workbook with all passwords of the specified size.

'

' TryWorkbookPasswordSize(Size, PasswordsTried, Password, [Base])

'

' Size - The size of the password to try.

'

' PasswordsTried - The cummulative number of passwords tried thus far.

'

' Password - The current password.

'

' Base - The base password from the calling routine.

Dim Index As Long

On Error Resume Next

If IsMissing(Base) Then Base = vbNullString

If Len(Base) < Size - 1 Then

For Index = 65 To 66

If TryWorkbookPasswordSize(Size, PasswordsTried, Password, Base & Chr(Index)) Then

TryWorkbookPasswordSize = True

Exit Function

End If

Next Index

ElseIf Len(Base) < Size Then

For Index = 32 To 255

ActiveWorkbook.Unprotect Base & Chr(Index)

If Not ActiveWorkbook.ProtectStructure And Not ActiveWorkbook.ProtectWindows Then

TryWorkbookPasswordSize = True

Password = Base & Chr(Index)

Exit Function

End If

PasswordsTried = PasswordsTried + 1

Next Index

End If

On Error GoTo 0

DisplayStatus PasswordsTried

End Function

Public Sub UnlockSheet()

' Unlock the active sheet using a backdoor Excel provides where an alternate

' password is created that is more limited.

Dim PasswordSize As Variant

Dim PasswordsTried As Long

Dim Password As String

PasswordsTried = 0

If Not ActiveSheet.ProtectContents Then

MsgBox "The sheet is already unprotected."

Exit Sub

End If

On Error Resume Next

ActiveSheet.Protect ""

ActiveSheet.Unprotect ""

On Error GoTo 0

If ActiveSheet.ProtectContents Then

For Each PasswordSize In Array(5, 4, 6, 7, 8, 3, 2, 1)

If TrySheetPasswordSize(PasswordSize, PasswordsTried, Password) Then Exit For

Next PasswordSize

End If

If Not ActiveSheet.ProtectContents Then

MsgBox "The sheet " & ActiveSheet.Name & " has been unprotected with password '" & Password & "'."

End If

Application.StatusBar = False

End Sub

Public Sub UnlockWorkbook()

' Unlock the active workbook using a backdoor Excel provides where an alternate

' password is created that is more limited.

Dim PasswordSize As Variant

Dim PasswordsTried As Long

Dim Password As String

PasswordsTried = 0

If Not ActiveWorkbook.ProtectStructure And Not ActiveWorkbook.ProtectWindows Then

MsgBox "The workbook is already unprotected."

Exit Sub

End If

On Error Resume Next

ActiveWorkbook.Unprotect vbNullString

On Error GoTo 0

If ActiveWorkbook.ProtectStructure Or ActiveWorkbook.ProtectWindows Then

For Each PasswordSize In Array(5, 4, 6, 7, 8, 3, 2, 1)

If TryWorkbookPasswordSize(PasswordSize, PasswordsTried, Password) Then Exit For

Next PasswordSize

End If

If Not ActiveWorkbook.ProtectStructure And Not ActiveWorkbook.ProtectWindows Then

MsgBox "The workbook " & ActiveWorkbook.Name & " has been unprotected with password '" & Password & "'."

End If

Application.StatusBar = False

End Sub