Microsoft Office 2000/Visual Basic Programmer's Guide   

Member Scope

The set of public variables, methods, properties, and events described in a class module define the interface for an object. The interface consists of the object members that are available to a programmer who's using the object from code.

A class module can also include private members that are not available to a programmer working with the object. You can create private variables, methods, properties, and events that are used by other procedures within the class module but are not part of the object's public interface. Additionally, constants, user-defined types, and Declare statements within a class module must always be private.

By default, Sub, Function, and Property procedures within a class module are public. Variables declared with the Dim statement, on the other hand, are private. It's a good idea to preface variable declarations and procedure definitions with either the Public or Private keyword, so that it's clear to you or any other developer looking at the class which elements are intended to be public or private.

You can also declare a Sub, Function, or Property procedure with the Friend keyword. The Friend keyword makes a procedure private to the project: The procedure is available to any code running within the project, but it's not available to a referencing project. For more information about the Friend keyword, search the Visual Basic Reference Help index for "Friend keyword."