Fully Qualified Procedure Names

When we call a public procedure that lies in another module, there is a potential problem with ambiguity, for there may be more than one public procedure with the same name in another module. VBA will execute the first one it finds, and this may not be the one we had in mind!

The solution is to use a qualified procedure name, which has the form:

ModuleName.ProcedureName

For instance, if a public procedure named AddOne lies in a module named Utilities, then we can call this procedure using the syntax:

Utilities.AddOne

If necessary, we can also specify the project name, using the syntax (don't forget to set the reference first):

ProjectName.ModuleName.ProcedureName

It is important to note that ProjectName is the code name of the project, not the filename. (The default code name is VBAProject.)

0 0

Post a comment