How can I prevent users from editing the header of a Word 97 document?

Article contributed by Dave Rado and Bill Coan Bill Coan

The first question to ask yourself is why you think users might want to edit the Header?

If the answer is: so that they can update the title, version number, etc. – use Document Properties with appropriate fields in the Header, so that these values are automatically updated when appropriate.  And/or write a macro, assigned to a prominent toolbar button, which updates the DocProperties or when required.  And train the users to use your button. 

If you prefer to use Document Variables to Document Properties, you can have your macro, assigned to a button, update the text in the Headers (using bookmarks), without using fields. Unfortunately you can't use DocVariable fields in a Header - Word will crash.

Similarly, if the answer is: in order to create a landscape header, write a macro which does this, assign it to a toolbar button, and train your users to use it.

If you still need to protect the Header, there is no satisfactory solution in Word 97, but here are some unsatisfactory ones!




Write a macro called ViewHeader.  This will intercept the ViewHeader command.

Doesn't prevent the user opening the Header (or Footer) by double-clicking on it. 


If you put a continuous Section Break right at the beginning of the document, and protect the document for forms (with a password), clicking on the Sections button on the Protect dialog and unchecking Section 2, the header and footer will not be accessible.

Unless the document is a form, protecting even one section will make the entire document pretty much unusable.  As well as the spellchecker, many of the items on the View, Insert, Format, Tools and Table menus are disabled, as well as most items on the Drawing, Database, Visual Basic and Picture toolbars.  It is possible to re-enable the spellchecker with a macro, but the other lost features can't be recovered.


Store the Header's contents (including any DocVariable of DocProperty fields) as an AutoText entry and reinsert it when the user prints (by writing a FilePrint and FilePrintDefault macro).

Clunky but works, although your macro would need to be fairly sophisticated to cope with all possibilities (landscape sections etc). 

For Word 2000 follow this link