Microsoft Office Tutorials and References
In Depth Information
6.3 Parameters and Arguments
6.3 Parameters and Arguments
Consider the following very simple subroutine, which does nothing more than display a message
box declaring a person's name:
Sub DisplayName(sName As String)
MsgBox "My name is " & sName
End Sub
To call this subroutine, we would write, for example:
DisplayName "Wolfgang"
Call DisplayName("Wolfgang")
The variable sName in the procedure declaration:
Sub DisplayName(sName As String)
is called a parameter of the procedure. The call to the procedure should contain a string variable
or a literal string that is represented by the variable sName in this procedure (but see the
discussion of optional parameters in the next section). The value used in place of the parameter
when we make the procedure call is called an argument . Thus, in the previous example, the
argument is the string "Wolfgang."
Note that many programmers fail to make a distinction between parameters and arguments, using
the names interchangeably. However, since a parameter is like a variable and an argument is like a
value of that variable, failing to make this distinction is like failing to distinguish between a
variable and its value!
6.3.1 Optional Arguments
In VBA, the arguments to a procedure may be specified as optional, using the Optional
keyword. (It makes no sense to say that a parameter is optional; it is the value that is optional.) To
illustrate, consider the procedure in Example 6-3 , which simply changes the font name and font
size of the current selection:
Example 6-3. Using an Optional Argument
Sub ChangeFormatting(FontName As String, _
Optional FontSize As Variant)
' Change font name
Selection.Font.Name = FontName
' Change font size if argument is supplied
If Not IsMissing(FontSize) Then
Selection.Font.Size = CInt(FontSize)
End If
End Sub
Search JabSto ::

Custom Search