12 April 2014: The OpenOffice Wiki is not, and never was, affected by the heartbleed bug. Users' passwords are safe and wiki users do not need take any actions.
Use branching statements to restrict the execution of a code block until a particular condition is satisfied.
The most common branching statement is the If statement as shown in the following example:
If A > 3 Then B = 2 End If
The B = 2 assignment only occurs when value of variable A is greater than three. A variation of the If statement is the If/Else clause:
If A > 3 Then B = 2 Else B = 0 End If
In this example, the variable B is assigned the value of 2 when A is greater than 3, otherwise B is assigned the value of 0.
For more complex statements, you can cascade the If statement, for example:
If A = 0 Then B = 0 ElseIf A < 3 Then B = 1 Else B = 2 End If
If the value of variable A equals zero, B is assigned the value 0. If A is less than 3 (but not equal to zero), then B is assigned the value 1. In all other instances (that is, if A is greater than or equal to 3), B is assigned the value 2.
A complete If statement may be written on a single line, with a simpler syntax. The first example of this page may be written as:
If A > 3 Then B = 2
The second example of this page may be written as:
If A > 3 Then B = 2 Else B = 0
The Select...Case instruction is an alternative to the cascaded If statement and is used when you need to check a value against various conditions:
Select Case DayOfWeek Case 1: NameOfWeekday = "Sunday" Case 2: NameOfWeekday = "Monday" Case 3: NameOfWeekday = "Tuesday" Case 4: NameOfWeekday = "Wednesday" Case 5: NameOfWeekday = "Thursday" Case 6: NameOfWeekday = "Friday" Case 7: NameOfWeekday = "Saturday" End Select
In this example, the name of a weekday corresponds to a number, so that the DayOfWeek variable is assigned the value of 1 for Sunday, 2 for Monday value, and so on.
The Select command is not restricted to simple 1:1 assignments — you can also specify comparison operators or lists of expressions in a Case branch. The following example lists the most important syntax variants:
Select Case Var Case 1 To 5 ' ... Var is between the numbers 1 and 5 (including the values 1 and 5). Case > 100 ' ... Var is greater than 100 Case 6, 7, 8 ' ... Var is 6, 7 or 8 Case 6, 7, 8, > 15, < 0 ' ... Var is 6, 7, 8, greater than 15, or less than 0 Case Else ' ... all other instances End Select
Now consider a misleading (advanced) example, and a common error:
Select Case Var Case Var = 8 ' ... Var is 0 Case Else ' ... all other instances End Select
The statement (Var = 8) evaluates to TRUE if Var is 8, and FALSE otherwise. TRUE is -1 and FALSE is 0. The Select Case statement evaluates the expression, which is TRUE or FALSE, and then compares that value to Var. When Var is 0, there is a match. If you understand the last example, then you also know why this example does not do what it appears
Select Case Var Case Var > 8 And Var < 11 ' ... Var is 0 Case Else ' ... all other instances End Select
|Content on this page is licensed under the Public Documentation License (PDL).|