Put in a workbook module to find another file to unlock vba

Option Explicit
'Your password goes here!!!!
Const gszProjPassword As String = "hello"

Public Sub UnlockMe()
Dim wbName As Variant
Dim wbBook As Workbook
Dim vbaProj As Object
Dim oWin As Object
Dim X As Integer

On Error GoTo ErrorHandler

'Select the workbook with the project to unlock
wbName = Application.GetOpenFilename("Excel Files (*.xls),*.xls")


'Open it, assign an object ref to it's vba project
Set wbBook = Workbooks.Open(wbName)
Set vbaProj = wbBook.VBProject

'Close any open code windows
For Each oWin In vbaProj.VBE.Windows
If InStr(oWin.Caption, "(") > 0 Then oWin.Close
Next oWin

Application.VBE.MainWindow.Visible = False

'Check to see if the VBA project is already unlocked
If vbaProj.Protection <> 1 Then
MsgBox "The VBA Project for the file you selected is already unlocked.", 0
Exit Sub

'We found the project to be locked
ElseIf vbaProj.Protection = 1 Then

On Error Resume Next

Do While X < 4
If vbaProj.Protection <> 1 Then
MsgBox "The VBA project for " & wbName & " was unprotected successfully", 64
Exit Do
End If
UnprotectVBProject wbBook, gszProjPassword
X = X + 1
Loop
On Error GoTo 0

End If

ErrorExit:
Set wbBook = Nothing
Set vbaProj = Nothing
Exit Sub

ErrorHandler:
Select Case Err.Number

Case 1004

wbBook.Close False

MsgBox "You will need to set the " & _
"{ TRUST ACCESS TO VISUAL BASIC PROJECT } setting" & vbNewLine & _
"When the dialog appears, go to the Trusted Sources tab, " & _
"check the setting, click OK, and rerun this code again", 64
SendKeys "%T", True
SendKeys "M", True
SendKeys "S", True

Case Else

MsgBox Err.Description

End Select
Resume ErrorExit
End Sub

Public Sub UnprotectVBProject(wb As Workbook, ByVal Password As String)
Dim vbProj As Object

On Error GoTo ErrorHandler

Application.ScreenUpdating = False

Set vbProj = wb.VBProject

'Check to see if VBA project is already unlocked
If vbProj.Protection <> 1 Then Exit Sub

'Activate chosen VBA Project
Set Application.VBE.ActiveVBProject = vbProj

'SendKeys is the only way
If Password = "^^" Or Password = "++" Then
Password = ""
Exit Sub
ElseIf Right(Password, 2) = "^^" Or Right(Password, 2) = "++" Then
Password = ""
Exit Sub
Else
SendKeys Password & "~~" & "{ESC}"
Application.VBE.CommandBars(1).FindControl(ID:=2578, recursive:=True).Execute
End If

'Not the right password
If vbProj.Protection = 1 Then
SendKeys "%{F11}", True
End If

'Reset Password
Password = ""

Application.ScreenUpdating = True
Set vbProj = Nothing

Exit Sub

ErrorHandler:
MsgBox Err.Description, 64
End Sub




Don Guillett
Microsoft Excel Developer
SalesAid Software
dguille...@gmail.com
-----Original Message----- From: Rajan_Verma
Sent: Thursday, September 06, 2012 9:01 AM
To: excel-macros@googlegroups.com
Subject: RE: $$Excel-Macros$$ Excel macro to add VBA password

Where you want to apply Password.

1) File Open ?
2) Worksheet Password ?
3) Workbook Password ?
4) VBA project Password ?


Regards
Rajan verma
+91 7838100659 [IM-Gtalk]

-----Original Message-----
From: excel-macros@googlegroups.com [mailto:excel-macros@googlegroups.com]
On Behalf Of Kiran Kancharla
Sent: 06 September 2012 12:08
To: excel-macros@googlegroups.com
Subject: Re: $$Excel-Macros$$ Excel macro to add VBA password

Hi,

thanks a lot your quick responce..

thanks,u
kiran

On 9/6/12, NOORAIN ANSARI <noorain.ans...@gmail.com> wrote:
Kiran,

Before run macro, Pls check on Tools-Reference-Microsoft Scripting
Runtime under VBE editor.

On Thu, Sep 6, 2012 at 11:03 AM, NOORAIN ANSARI
<noorain.ans...@gmail.com>wrote:

Dear Kiran,

Please try it..


Sub ProtectFiles()

 Dim MyFile As File

 Dim MyFolder As Folder

 Dim fso As Scripting.FileSystemObject

 Set fso = New Scripting.FileSystemObject

 Set MyFolder = fso.GetFolder(YourFolderPath)

 For Each MyFile In MyFolder.Files

 MyFile.Password="abc"

Next

End Sub



On Thu, Sep 6, 2012 at 10:47 AM, Kiran Kancharla
<srkira...@gmail.com>wrote:

Hi,

Need help to create a macro to add VBA password to all the excel
files in a folder.

I am using excel 2003.

Request you help me on this.

--
Thanks & Regards,
Kiran

--
Join official facebook page of this forum @
https://www.facebook.com/discussexcel

FORUM RULES (1120+ members already BANNED for violation)

1) Use concise, accurate thread titles. Poor thread titles, like
Please Help, Urgent, Need Help, Formula Problem, Code Problem, and
Need Advice will not get quick attention or may not be answered.

2) Don't post a question in the thread of another member.

3) Don't post questions regarding breaking or bypassing any security
measure.

4) Acknowledge the responses you receive, good or bad.

5)  Cross-promotion of, or links to, forums competitive to this
forum in signatures are prohibited.

6) Jobs posting is not allowed.

7) Sharing copyrighted ebooks/pirated ebooks/their links is not allowed.

NOTE  : Don't ever post personal or confidential data in a workbook.
Forum owners and members are not responsible for any loss.
---
You received this message because you are subscribed to the Google
Groups "MS EXCEL AND VBA MACROS" group.
To post to this group, send email to excel-macros@googlegroups.com.
To unsubscribe from this group, send email to
excel-macros+unsubscr...@googlegroups.com.





--
With Regards,
Noorain Ansari
http://
<http://www.noorainansari.com>noorainansari.com<http://www.noorainans
ari.com>
http://
<http://www.excelvbaclinic.blogspot.com>excelvbaclinic.com<http://www
.excelvbaclinic.blogspot.com><http://accesssqclinic.blogspot.in/>





--
With Regards,
Noorain Ansari
http://
<http://www.noorainansari.com>noorainansari.com<http://www.noorainansa
ri.com>
http://
<http://www.excelvbaclinic.blogspot.com>excelvbaclinic.com<http://www.
excelvbaclinic.blogspot.com><http://accesssqclinic.blogspot.in/>

--
Join official facebook page of this forum @
https://www.facebook.com/discussexcel

FORUM RULES (1120+ members already BANNED for violation)

1) Use concise, accurate thread titles. Poor thread titles, like
Please Help, Urgent, Need Help, Formula Problem, Code Problem, and
Need Advice will not get quick attention or may not be answered.

2) Don't post a question in the thread of another member.

3) Don't post questions regarding breaking or bypassing any security
measure.

4) Acknowledge the responses you receive, good or bad.

5)  Cross-promotion of, or links to, forums competitive to this forum
in signatures are prohibited.

6) Jobs posting is not allowed.

7) Sharing copyrighted ebooks/pirated ebooks/their links is not allowed.

NOTE  : Don't ever post personal or confidential data in a workbook.
Forum owners and members are not responsible for any loss.
---
You received this message because you are subscribed to the Google
Groups "MS EXCEL AND VBA MACROS" group.
To post to this group, send email to excel-macros@googlegroups.com.
To unsubscribe from this group, send email to
excel-macros+unsubscr...@googlegroups.com.





--
Thanks & Regards,
Kiran
9920456606

--
Join official facebook page of this forum @
https://www.facebook.com/discussexcel

FORUM RULES (1120+ members already BANNED for violation)

1) Use concise, accurate thread titles. Poor thread titles, like Please
Help, Urgent, Need Help, Formula Problem, Code Problem, and Need Advice will
not get quick attention or may not be answered.

2) Don't post a question in the thread of another member.

3) Don't post questions regarding breaking or bypassing any security
measure.

4) Acknowledge the responses you receive, good or bad.

5)  Cross-promotion of, or links to, forums competitive to this forum in
signatures are prohibited.

6) Jobs posting is not allowed.

7) Sharing copyrighted ebooks/pirated ebooks/their links is not allowed.

NOTE  : Don't ever post personal or confidential data in a workbook. Forum
owners and members are not responsible for any loss.
---
You received this message because you are subscribed to the Google Groups
"MS EXCEL AND VBA MACROS" group.
To post to this group, send email to excel-macros@googlegroups.com.
To unsubscribe from this group, send email to
excel-macros+unsubscr...@googlegroups.com.



--
Join official facebook page of this forum @ https://www.facebook.com/discussexcel

FORUM RULES (1120+ members already BANNED for violation)

1) Use concise, accurate thread titles. Poor thread titles, like Please Help, Urgent, Need Help, Formula Problem, Code Problem, and Need Advice will not get quick attention or may not be answered.

2) Don't post a question in the thread of another member.

3) Don't post questions regarding breaking or bypassing any security measure.

4) Acknowledge the responses you receive, good or bad.

5) Cross-promotion of, or links to, forums competitive to this forum in signatures are prohibited.

6) Jobs posting is not allowed.

7) Sharing copyrighted ebooks/pirated ebooks/their links is not allowed.

NOTE : Don't ever post personal or confidential data in a workbook. Forum owners and members are not responsible for any loss. --- You received this message because you are subscribed to the Google Groups "MS EXCEL AND VBA MACROS" group.
To post to this group, send email to excel-macros@googlegroups.com.
To unsubscribe from this group, send email to excel-macros+unsubscr...@googlegroups.com.

--
Join official facebook page of this forum @ 
https://www.facebook.com/discussexcel

FORUM RULES (1120+ members already BANNED for violation)

1) Use concise, accurate thread titles. Poor thread titles, like Please Help, 
Urgent, Need Help, Formula Problem, Code Problem, and Need Advice will not get 
quick attention or may not be answered.

2) Don't post a question in the thread of another member.

3) Don't post questions regarding breaking or bypassing any security measure.

4) Acknowledge the responses you receive, good or bad.

5) Cross-promotion of, or links to, forums competitive to this forum in signatures are prohibited.
6) Jobs posting is not allowed.

7) Sharing copyrighted ebooks/pirated ebooks/their links is not allowed.

NOTE  : Don't ever post personal or confidential data in a workbook. Forum 
owners and members are not responsible for any loss.
--- You received this message because you are subscribed to the Google Groups "MS EXCEL AND VBA MACROS" group.
To post to this group, send email to excel-macros@googlegroups.com.
To unsubscribe from this group, send email to 
excel-macros+unsubscr...@googlegroups.com.


Reply via email to