() (keyword)

Syntax 1 ... ( expression ) ...
Syntax 2 ..., ( parameter ) ,...
Description Forces parts of an expression to be evaluated before others or forces a parameter to be passed by value.
Comments Parentheses within Expressions Parentheses override the normal precedence order of the scripts operators, forcing a subexpression to be evaluated before other parts of the expression. For example, the use of parentheses in the following expressions causes different results: ????i = 1 + 2 * 3??????????'Assigns 7. ????i = (1 + 2) * 3??????'Assigns 9. Use of parentheses can make your code easier to read, removing any ambiguity in complicated expressions.
Parentheses Used in Parameter Passing Parentheses can also be used when passing parameters to functions or subroutines to force a given parameter to be passed by value, as shown below: ????ShowForm i????????????'Pass i by reference. ????ShowForm (i)??????????'Pass i by value. Enclosing parameters within parentheses can be misleading. For example, the following statement appears to be calling a function called ShowForm without assigning the result: ????ShowForm(i) The above statement actually calls a subroutine called ShowForm , passing it the variable i by value. It may be clearer to use the ByVal keyword in this case, which accomplishes the same thing: ????ShowForm ByVal i The result of an expression is always passed by value.
Example This example uses parentheses to clarify an expression.
Sub Main()
????bill = False
????dave = True
????jim = True
????If (dave And bill) Or (jim And bill) Then
????????Msgbox "The required parties for the meeting are here."
????Else
????????MsgBox "Someone is late for the meeting!"
????End If
End Sub
See Also ByVal (keyword); Operator Precedence (topic).