I tried writing a vba password cracker code similar to the code I used to crack Excel sheet's password But I am not sure if I am doing correctly or not - when i tried this code it prompted me for password but no password was entered to the text input box.
Please suggest what I am doing wrong.
Thanks
Sub testmacro()
Dim password
Dim a, b, c, d, e, f, g, h, i, j, k, l
SendKeys "^r"
SendKeys "{PGUP}"
For a = 65 To 66
For b = 65 To 66
For c = 65 To 66
For d = 65 To 66
For e = 65 To 66
For f = 65 To 66
For g = 65 To 66
For h = 65 To 66
For i = 65 To 66
For j = 0 To 255
password = Chr(a) & Chr(b) & Chr(c) & Chr(d) & Chr(e) & Chr(f) & Chr(g) & Chr(h) & Chr(i) & Chr(j)
SendKeys "{Enter}", True
MsgBox password
SendKeys password, True
SendKeys "{Enter}", True
On Error GoTo 200
MsgBox password
GoTo 300
200 password = ""
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
300 MsgBox "exited"
End Sub
It looks like you're trying to unlock a workbook with a password to open it?
You absolutely should not be using Sendkeys for that. You should only ever use sendkeys as a last resort.
To avoid conflicts, put your code in another workbook and instead of the sendkeys use:
If the workbook is already open and the workbook is protected or a sheet or chart use:
Wherew [object] is a reference to what you are trying to unprotect.
If you are trying to unlock the vba code, follow the comment by JimmyPena
Here's a reference for someone using similar code to yours for unlocking the active sheet.
I successfully executed this script in Excel-2013 on a password protected workbook created in Excel 2003.
Followed the following steps:
Developer --> Record Macro (give a name, then do some clicks)
Macros --> take the macro you created for edit.
Replace the Macro with the whole function below:
The reason your code is not executing properly is because you are attempting to execute a macro on a password protected execel file, which is not permitted. This is due to the fact that macros will not execute on an excel workbook until the password is entered - thus the prompt for a password before you can execute your macro code.
This SO article explains this as well, with greater detail: Excel VBA - Automatically Input Password
EDIT
For 2003
If you are trying to access the workbook, not the worksheet, there are a variety of ways in versions 2003 and earlier. After a quick perusual, this blogspot Code Samples entry appears to have a working version for unprotecting a 2003 workbook.
Also, on a related note, if you are stepping back even further and trying to unlock a VBA project, this SO article appears to adequately address the issue.
For 2007
If you are simply trying to "brute force" unprotect a client's workbook, a gentleman named Jason has outlined such a process in his blog.
Maybe of some help?