Dear Friends,
Previously I have written about how to protect and un-protect a Sheet in a Workbook. In this article, I am going to cover all about protecting and unprotecting a workbook.
This is going to be a short and simple article, yet informative and useful for your day to day VBA programming.
In this article, I am going to share with you VBA code to:
1. Open a password protected Excel Workbook.
2. Create a password protected excel workbook.
There is no special method for doing this. Rather it is simply done by passing the password parameters in Workbooks.Open() and Workbook.SaveAs()
You can refer in the below code.
How to create a password protected workbook
Let’s take an example where you want to save an Excel Workbook as password protected.
Function SaveWorkbookAsPasswordProtected
ActiveWorkbook.SaveAs Filename:="...\protected.xlsx", Password:="1234", WriteResPassword:="1234"
End Function
How to Open a password protected workbook
You can use following VBA code to open a password protected workbook to read or write.
Sub openPasswordProtectedWorkbook()
Workbooks.Open Filename:="...\protected.xlsm", Password:="1234", WriteResPassword:="1234"
End Sub
Important:
Password: This is the password to lock the workbook from opening it.
WriteResPassword: This is the password to lock the workbook from EDITING it.
If your workbook is locked with both the passwords – For opening and For editing – and you skip passing the password for editing, then you get a popup like below.
You can ofcourse open that workbook in write mode by providing the correct password or in edit mode by clicking on the button shown on the popup.
I am looking to unlock a file that is password protect but the file needs to be selected by the user as the location may change.
How can I use the VBA to pass the password to the pop up box when I use
Application.Dialogs(xlDialogOpen).Show
I understood I should be able to use argument 5 (password) but it does not work
Application.Dialogs(xlDialogOpen).Show , arg5 = “******”
Any guidance would be most appreciated