With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He is president of Sharon Parq Associates, a computer and publishing services company.
Learn more about Allen...
Please Note: This article is written for users of the following Microsoft Excel versions: 97, 2000, 2002, and 2003. If you are using a later version (Excel 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Excel, click here: Protecting an Entire Folder of Workbooks.
Mahesh has a number of Excel workbooks, all stored in the same folder. He wonders if it is possible to assign a password to the entire folder so that all the workbooks are protected.
The short answer is no, you can't do that in Excel. There are a number of different techniques you can apply that will provide the desired result, however. The first method is to use a program such as WinZip to combine all the workbooks into a single zip file. This file can be password protected (in WinZip) so that not everyone can open it. You could then open the zip file (using your password) and double-click on any workbook in it in order to modify it with Excel. The result, for all intents and purposes, is that you have a "folder" (the zip file) that is protected, while the individual files it contains are not.
Another approach is to place the workbook folder on a network drive and then have the network admin protect the folder. Most network operating systems allow administrators to control who can have access to specific folders and their contents.
A third approach is to use a third-party program to protect the folder. A quick search of the Web will no doubt turn up several candidates, such as the following:
You can also use an Excel macro to protect the workbooks. While it does not offer true folder-level protection, it does allow you to protect all the workbooks in the folder in as easy a manner as possible.
Sub ProtectAll() Dim wBk As Workbook Dim sFileSpec As String Dim sPathSpec As String Dim sFoundFile As String sPathSpec = "C:\MyPath\" sFileSpec = "*.xls" sFoundFile = Dir(sPathSpec & sFileSpec) Do While sFoundFile <> "" Set wBk = Workbooks.Open(sPathSpec & sFoundFile) With wBk Application.DisplayAlerts = False wBk.SaveAs FileName:=.FullName, _ Password:="swordfish" Application.DisplayAlerts = True End With Set wBk = Nothing Workbooks(sFoundFile).Close False sFoundFile = Dir Loop End Sub
Make sure you change the sPathSpec and sFileSpec variables, near the beginning of the code, to reflect the folder containing the workbooks and the pattern for the names of the workbooks you want protected. The macro assumes that all the workbooks are unprotected; if any are not, the macro will prompt for the workbook's password.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2878) applies to Microsoft Excel 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Excel (Excel 2007 and later) here: Protecting an Entire Folder of Workbooks.
Professional Development Guidance! Four world-class developers offer start-to-finish guidance for building powerful, robust, and secure applications with Excel. The authors show how to consistently make the right design decisions and make the most of Excel's powerful features. Check out Professional Excel Development today!