VBA to Open or Create a Password Protected Workbook

.

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.

Protected Workbook

Protected Workbook

Buy a coffee for the author

Adsense

Download FREE Tools and Templates

There are many cool and useful excel tools and templates available to download for free. For most of the tools, you get the entire VBA code base too which you can look into it, play around it, and customize according to your need.

Convert PDF Tables to Excel with VBA | Step-by-Step Guide
Convert PDF Tables to Excel with VBA | Step-by-Step Guide

Convert PDF Tables to Excel with VBA | Step-by-Step Guide How to Convert PDF Tables to Excel Using Excel VBA (Macros) Extracting data from PDF tables into Excel can be tedious, but with Excel VBA (macros), you can automate this process and save time. This guide will...

Dynamic Arrays and Spill Functions in Excel: A Beginner’s Guide
Dynamic Arrays and Spill Functions in Excel: A Beginner’s Guide

In today's tutorial, we'll be diving into the exciting world of dynamic arrays and spill functions in Office 365 Excel. These features have revolutionized the way we work with data, providing a more flexible and efficient way to handle arrays. I am going to explain...

How to Declare a Public Variable in VBA
How to Declare a Public Variable in VBA

While programming in VBA sometimes you need to declare a Public Variable that can store the value throughout the program. Use of Public Variable: Let's say you have 4 different Functions in your VBA Code or Module and you have a variable that may or may not be...

What is Excel Formula?

Excel Formula is one of the best feature in Microsoft Excel, which makes Excel a very very rich application. There are so many useful built-in formulas available in Excel, which makes our work easier in Excel. For all the automated work, Excel Macro is not required. There are so many automated things can be done by using simple formulas in Excel. Formulas are simple text (With a Syntax) which is entered in to the Excel Worksheet Cells. So how computer will recognize whether it is a formula or simple text? Answer is simple.. every formula in Excel starts with Equal Sign (=).

You May Also Like…

1 Comment

  1. Alex

    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

    Reply

Trackbacks/Pingbacks

  1. Excel Macro : Excel VBA code to Protect OR UnProtect Sheet - Let's excel in Excel - […] VBA to Open or Create a Password Protected Workbook […]

Submit a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Join and get a FREE! e-Book

Don't miss any articles, tools, tips and tricks, I publish here

You have Successfully Subscribed!

Pin It on Pinterest