Declares or redefines variables or arrays.
variable: Any variable or array name.
typename: Keyword that declares the data type of a variable.

Byte: Byte variable (0-255)
Boolean: Boolean variable (True, False)
Currency: Currency variable (Currency with 4 Decimal places)
āϤāĻžāϰāĻŋāĻ: āϤāĻžāϰāĻŋāĻ āĻāϞāĻ
Double: Double-precision floating-point variable (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)
āĻāύāĻāĻŋāĻāĻžāϰ: āĻāύāĻāĻŋāĻāĻžāϰ āĻāϞāĻ (-32768 - 32767)
āϞāĻ: āĻĻā§āϰā§āĻ āĻāύāĻāĻŋāĻāĻžāϰ āĻāϞāĻ (-2.147.483.648 - 2.147.483.647)
Object: Object variable (Note: this variable can only subsequently be defined with Set!)
Single: Single-precision floating-point variable (3,402823 x 10E38 - 1,401298 x 10E-45).
String: String variable consisting of a maximum of 2,147,483,647 characters.
Variant: Variant variable type (contains all types, specified by definition). If a type name is not specified, variables are automatically defined as Variant Type, unless a statement from DefBool to DefVar is used.
object: Universal Network object (UNO) object or ClassModule object instance.
char: Special character that declares the data type of a variable.

In LibreOffice Basic, you do not need to declare variables explicitly. However, you need to declare arrays before you can use them. You can declare a variable with the Dim statement, using commas (,) to separate multiple declarations. To declare a variable type, enter a type-declaration character following the name or use a corresponding type keyword name.
Declaration character |
Variable type name |
% |
Integer |
& |
Long |
! |
Single |
# |
Double |
$ |
String |
@ |
Currency |
array: Array declaration.

start, end: Numerical values or constants that define the number of elements (NumberElements=(end-start)+1) and the index range.
start and end can be numerical expressions if ReDim is applied at the procedure level.
LibreOffice āĻŦā§āϏāĻŋāĻ āĻāĻāĻāĻŋ āĻāĻāĻ āĻ
āĻĨāĻŦāĻž āĻŦāĻšā§ āĻŽāĻžāϤā§āϰāĻŋāĻ āĻ
ā§āϝāĻžāϰ⧠āϏāĻŽāϰā§āĻĨāύ āĻāϰ⧠āĻĨāĻžāĻā§ āϝāĻž āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻā§āϰāĻŋā§ā§āĻŦāϞā§āϰ āϧāϰāύ āĻĻā§āĻŦāĻžāϰāĻž āύāĻŋāϰā§āĻĻā§āĻļāĻŋāϤ āĻšā§āĨ¤ āϝāĻĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽā§ āϤāĻžāϞāĻŋāĻāĻž āĻ
āĻĨāĻŦāĻž āϏāĻžāϰāĻŖāĻŋ āĻĨāĻžāĻā§ āϤāĻžāĻšāϞ⧠āĻāϤ⧠āĻ
ā§āϝāĻžāϰ⧠āĻāĻĒāϝā§āĻā§āϤ āĻšā§ āϝāĻž āĻāĻĒāύāĻŋ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻāϰāϤ⧠āĻāĻžāύāĨ¤ āĻ
ā§āϝāĻžāϰā§āϰ āϏā§āĻŦāĻŋāϧāĻž āĻšāϞā§, āĻāύāĻĄā§āĻā§āϏ āĻ
āύā§āϏāĻžāϰ⧠āĻĒā§āĻĨāĻ āĻāϞāĻŋāĻŽā§āύā§āĻ āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰāĻž āϝāĻžā§, āϝāĻž āĻāĻāĻāĻŋ āϏāĻāĻā§āϝāĻžāϏā§āĻāĻ āĻāĻā§āϏāĻĒā§āϰā§āĻļāύ āĻ
āĻĨāĻŦāĻž āĻā§āϰāĻŋā§ā§āĻŦāϞ āĻĻā§āĻŦāĻžāϰāĻž āϝāĻĨāĻžāϝāĻĨāĻāĻžāĻŦā§ āĻĒā§āϰāĻāĻžāĻļ āĻāϰāĻž āϝāĻžā§āĨ¤
Arrays are declared with the Dim statement. There are multiple ways to define the index range:
Dim text(20) As String ' 21 elements numbered from 0 to 20
Dim value(5 to 25) As Integer ' 21 values numbered from 5 to 25
Dim amount(-15 to 5) As Currency ' 21 amounts (including 0), numbered from -15 to 5
REM Two-dimensional data field
Dim table$(20,2) ' 63 items; from 0 to 20 level 1, from 0 to 20 level 2 and from 0 to 20 level 3.
You can declare an array types as dynamic if a ReDim statement defines the number of dimensions in the subroutine or the function that contains the array. Generally, you can only define an array dimension once, and you cannot modify it. Within a subroutine, you can declare an array with ReDim. You can only define dimensions with numeric expressions. This ensures that the fields are only as large as necessary.