OFF97: Visual Basic Modules Cannot Be Hidden or Protected (156879)
The information in this article applies to:
- Microsoft Word 97 for Windows
- Microsoft Excel 97 for Windows
- Microsoft PowerPoint 97 for Windows
This article was previously published under Q156879 SYMPTOMS
In the programs listed at the beginning of this article, you cannot hide or
protect a module either manually or by using a macro.
CAUSE
In earlier versions of Microsoft Excel, macro sheets and Visual Basic modules are contained on tabs in a workbook. These tabs can be hidden or protected manually or using the Visible, Protect, or Unprotect commands in a macro. However, in the products listed at the beginning of this article, Visual Basic modules are displayed in the Visual Basic Editor.
WORKAROUND
You can protect the modules from being viewed by locking the project for viewing, providing a password, and then saving the file normally. NOTE: By doing this, you will not be able to save a Microsoft Excel workbook down to an earlier format.
To protect a module from being viewed, follow these steps (or the appropriate ones for your version of Excel). NOTE: The following steps are for Microsoft Excel 97:
- In the Visual Basic Editor, click Project Name Properties on the Tools menu, where Project Name is the name of the project that you are protecting.
- Click the Protection tab.
- Click to select the Lock Project for Viewing check box. Type a password in the Password box, and then type the password again in the Confirm Password box.
- Click OK.
- On the File menu, click Close and Return To Microsoft Excel.
- In Microsoft Excel, click Save.
To view a protected module, follow these steps:
- On the Tools menu, point to Macro, and then click Visual Basic Editor.
- In the Visual Basic Editor, click the entry for the add-in in the Project pane.
- When you are prompted, type the password for the add-in, and then click OK.
You can now view a module and make changes to your macro code.
MORE INFORMATIONMicrosoft provides programming examples for illustration only, without warranty either
expressed or implied, including, but not limited to, the implied warranties of
merchantability and/or fitness for a particular purpose. This article assumes
that you are familiar with the programming language being demonstrated and the
tools used to create and debug procedures. Microsoft support professionals can
help explain the functionality of a particular procedure, but they will not
modify these examples to provide added functionality or construct procedures to
meet your specific needs. If you have limited programming experience, you may
want to contact a Microsoft Certified Partner or the Microsoft fee-based
consulting line at (800) 936-5200. For more information about Microsoft Certified
Partners, please visit the following Microsoft Web site:
For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:
The following sample procedures are provided to further clarify the
difference between hiding modules in Microsoft Excel 5.0, 7.0, and 97.
Sub HideMe()
ThisWorkbook.Modules("Module1").Visible = False
End Sub
Sub ShowMe()
ThisWorkbook.Modules("Module1").Visible = True
End Sub
Sub ReallyHideModule2()
ThisWorkbook.Modules("Module2").Visible = xlVeryHidden
End Sub
Microsoft Excel 5.0 and 7.0
When you run the HideMe procedure, Microsoft Excel hides Module1. Running the ShowMe procedure unhides Module1. Running the ReallyHideModule2 procedure hides Module2 and prevents it from being unhidden without using a macro or code.
Microsoft Excel 97
Nothing happens when you run these sample procedures in Microsoft Excel 97.
Because modules are not tabbed sheets, they no longer have a Visible
property, and you cannot hide or unhide them.
Similarly, using the Protect or Unprotect methods to protect or unprotect a module does not work in Microsoft Excel 97. Because modules are not tabbed sheets, you cannot protect or unprotect them.
Modification Type: | Minor | Last Reviewed: | 10/11/2006 |
---|
Keywords: | kbcode kbprb KB156879 |
---|
|