CallByName Function (VB6)

Named Arguments

No

Syntax

CallByName(object, procedurename, calltype, _
           [argument1,..., argumentn])

object

Use: Required

Data Type: Object

A reference to the object containing the procedure being called.

procedurename

Use: Required

Data Type: String

The name of the procedure to call.

calltype

Use: Required

Data Type: vbCallType constant

A constant that indicates the type of procedure being called. vbCallType constants are listed in the next table.

arguments

Use: Optional

Data Type: Variant

Any number of variant arguments, depending on the argument list of the procedure to call.

Constant Value Description
vbGet
2 The called procedure is a Property Get
vbLet
4 The called procedure is a Property Let
vbMethod
1 The called procedure is a method; this can be a Sub or a Function within object
vbSet
8 The called procedure is a Property Set

Return Value

Depends on the return value (if any) of the called procedure.

Description

Provides a flexible method for calling a public procedure in a VB object module. Since procedurename is a string expression, rather than the hard-coded name of a routine, it's possible to call routines dynamically at runtime with a minimum of coding.

Rules at a Glance

  • The return type of CallByName is the return type of the called procedure.

  • procedurename isn't case sensitive.

Programming Tips and Gotchas

  • At last, VB allows you to create a call to a procedure using a string. This means that the call can be flexible at runtime.

Get VB & VBA in a Nutshell: The Language now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.