Como Desbloquear Planilha Excel

19
DESBLOQUEAR PLANILHA O primeiro modo é através 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): <img class="aligncenter size-full wp-image- 1642" src="http://www.feranoexcel.com/wp-content/uploads/Esta- pasta-de-trabalho.jpg" alt="Esta pasta de trabalho" width="182" height="178" /> Ao fazer isto, será aberto do lado direito um painel. Você irá então copiar e colar o código 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 Integer On Error Resume Next For i = 65 To 66 For j = 65 To 66 For k = 65 To 66 For l = 65 To 66 For m = 65 To 66 For i1 = 65 To 66 For i2 = 65 To 66 For i3 = 65 To 66 For i4 = 65 To 66 For i5 = 65 To 66 For i6 = 65 To 66 For n = 32 To 126 ActiveSheet.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 Then MsgBox “Planilha desprotegida com sucesso!!!”

description

desbloquear planilha excel

Transcript of Como Desbloquear Planilha Excel

DESBLOQUEAR PLANILHA

O primeiro modo é através 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):

<img class="aligncenter size-full wp-image-1642"

src="http://www.feranoexcel.com/wp-content/uploads/Esta-pasta-de-trabalho.jpg" alt="Esta

pasta de trabalho" width="182" height="178" />

Ao fazer isto, será aberto do lado direito um painel. Você irá então copiar e colar o código

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 Integer

On Error Resume Next

For i = 65 To 66

For j = 65 To 66

For k = 65 To 66

For l = 65 To 66

For m = 65 To 66

For i1 = 65 To 66

For i2 = 65 To 66

For i3 = 65 To 66

For i4 = 65 To 66

For i5 = 65 To 66

For i6 = 65 To 66

For n = 32 To 126

ActiveSheet.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 Then

MsgBox “Planilha desprotegida com sucesso!!!”

Exit Sub

End If

Next

Next

Next

Next

Next

Next

Next

Next

Next

Next

Next

Next

End Sub

Após colar o código ele ficará mais ou menos assim:

<img class="aligncenter size-full wp-image-1643" src="http://www.feranoexcel.com/wp-

content/uploads/copiando-codigo-da-macro.jpg" alt="copiando código da macro"

width="671" height="321" />

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 Exibição, item Macros.

Você verá que aparecerá uma macro com nome DesprotegerPlanilhaAtiva:

<img class="aligncenter

size-full wp-image-1644" src="http://www.feranoexcel.com/wp-content/uploads/excutar-

macro-para-desproteger-planilha.jpg" alt="executar macro para desproteger planilha"

width="390" height="371" />

Clique sobre o botão Executar e aguarde alguns segundos. Se tudo deu certo, você verá a

mensagem abaixo:

<img class="aligncenter size-full wp-image-1645"

src="http://www.feranoexcel.com/wp-content/uploads/planilha-desprotegida-com-

sucesso.jpg" alt="planilha desprotegida com sucesso" width="259" height="156" />

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 botão Opções dentro da janela e defina a sua tecla de atalho preferida.

UPDATE: muitos leitores entraram em contato dizendo que o código mencionado

acima dá erro na linha em vermelho abaixo:

<img class="aligncenter

size-full wp-image-2053" src="http://www.feranoexcel.com/wp-content/uploads/erro-codigo-

macro-desproteger-planilha.jpg" alt="erro codigo macro desproteger planilha" width="413"

height="84" />

Caso isto aconteça com você, é bem simples de resolver: é que por algum motivo,

que não sei dizer qual, o Excel não cola as aspas de maneira correta. Você só

precisa apagar as aspas e digitá-las novamente. Faça o teste e deixe comentário

dizendo se deu certo ou não.

Obs: a partir da versão 2007, documentos que contenham macros devem ser salvos em

um formato específico, chamado “Pasta de Trabalho habilitada para macro do Excel“,

cuja extensão é .xlsm. Se você tentar salvar neste momento, aparecerá uma janela

avisando sobre este fato. Você terá duas opções neste caso: a primeira é clicar em Não e

escolher o formato habilitado para macros do Excel. A segunda é voltar ao Visual Basic e

excluir todo código. Assim você poderá salvar normalmente.

DESBLOQUEAR PLANILHA E ABA EXCEL WORKSHEET

O código abaixo pode desbloquear uma senha pasta de trabalho e senhas de folha. Para usá-lo, copiá-lo para um novo

módulo de código 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 código 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

"Caráter ou é um" A "ou" B ", exceto a última que pode ser qualquer personagem

'Do código ASCII 32-255.

'

'Implementado como um módulo regular para uso com qualquer projeto Excel VBA.

'

'Dependências:

'

' Nenhum

CODIGO

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