Please Note: This article is written for users of the following Microsoft Word versions: 2007, 2010, 2013, and 2016. If you are using an earlier version (Word 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Word, click here: Safely Relocking Forms.
by Allen Wyatt
(last updated December 12, 2015)
Many people use Word to create forms that are then used by others to input information. I am not talking about your average, run-of-the-mill forms that are printed out and reproduced on a copier. I am talking about using forms with Word's special form fields to create templates that are used as the basis for data-collection documents that are individually saved with the data in place.
By design, these forms are protected. This can be both good and bad. It is good because it stops a user from changing information they shouldn't. It is bad because it stops you from changing any information you may want to alter. What happens is that when a user creates a document based on a forms template, the information they put into the form fields is saved in a new document. If you reload the saved document, unlock the form to add a new field or make some other change, and then relock the form prior to saving it, the information the user added to the form is automatically eliminated by Word and all the form fields are set back to their defaults.
Believe it or not, this is a feature of Word. Some would question that characterization, but it is how the forms feature was designed by the powers-that-be. The only way to overcome this problem is through the use of a macro. The natural place to save the macro is in the template on which your forms are based. You will probably want the macro to be available through a shortcut key or on the Quick Access Toolbar. (Assigning shortcut keys to macros and adding them to the Quick Access Toolbar is covered in other issues of WordTips.)
Remember that the problem manifests itself only when relocking a form; unlocking them causes no data loss. Thus, you only need to use a special macro to relock your form and you can use the regular unlock tool in Word to unprotect your form prior to your changes. The following macro will safely relock your unlocked forms:
Sub SafeFormLock() If ActiveDocument.ProtectionType = wdNoProtection Then ActiveDocument.Protect _ Password = "" _ Type:=wdAllowOnlyFormFields, _ NoReset:=True End If End Sub
The reason for the If...Then check is that VBA will generate an error if you use the protection method on the active document and it was already protected. Notice, as well, that this macro doesn't set the protection password. If you want to use a password, you will need to supply it in the macro.
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (10416) applies to Microsoft Word 2007, 2010, 2013, and 2016. You can find a version of this tip for the older menu interface of Word here: Safely Relocking Forms.
Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!
When you create a form you need to use special form fields. If you want to limit what users can enter in a form field, you'll ...Discover More
If you get unwanted formatting in your form fields, it could be because of the way you are formatting the line on which the ...Discover More
Word allows you, as part of your document, to create forms. To start using the form, you need to protect the document. If you ...Discover More
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
Got a version of Word that uses the ribbon interface (Word 2007 or later)? This site is for you! If you use an earlier version of Word, visit our WordTips site focusing on the menu interface.