Ajuda do LibreOffice 25.2
Declara variáveis ou matrizes.
Se as variáveis são separadas por vírgulas - por exemplo Dim v1, v2, v3 As String - as primeiras são definidas como variáveis Variant. Uma nova linha ou sinal de dois pontos (:), ajuda a separar as definições de variáveis.
  Dim text As String
  Dim pv As com.sun.star.beans.PropertyValue, d As Date
  Dim Units as Integer : Dim EULER As Double
Dim declara variáveis locais dentro de subrotinas. Variáveis globais são declaradas com instruções Global, Public ou Private .
  
Dim variable [(start To end)] [As typename][, variable2[char] [(start To end)] [,...]]
O operador New é opcional ao configurar a opção Option Compatible.
variable: qualquer nome de variável ou matriz.
typename: palavra-chave que declara o tipo de dado da variável.
  
Byte: variável byte (0-255)
Boolean: variável booleana (True, False)
Currency: variável monetária (moeda com 4 casas decimais)
Date: variável de data
Double: variável de ponto flutuante de precisão dupla (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)
Integer: variável de número inteiro (-32768 - 32767)
Long: variável de número inteiro longo (-2.147.483.648 - 2.147.483.647)
Object: variável de objeto (Nota: essa variável só poderá ser definida posteriormente com Set!)
Single: variável de ponto flutuante de precisão simples (3,402823 x 10E38 - 1,401298 x 10E-45).
String: Variável de cadeia de caracteres que consiste em um máximo de 2.147.483.647 caracteres.
Variant: variável de tipo Variant (contém todos os tipos, especificados por definição). Caso não seja especificada nenhuma palavra-chave, as variáveis serão automaticamente definidas como Variant, a não ser que seja usada uma instrução de DefBool para DefVar.
object: Objeto UNO (Universal Network Object) ou instância de objeto ClassModule.
char: caractere especial que declara o tipo de dados da variável.
  
Você não precisa declarar variáveis explicitamente no LibreOffice Basic. No entanto, você precisa declarar uma matriz antes de usá-la. Você pode declarar uma variável com a instrução Dim, utilizando vírgulas (,)para separar as várias declarações. Para declarar um tipo de variável, digite o caractere de declaração de tipo seguido do nome ou use uma palavra-chave correspondente.
| Declaration character | Variable type name | 
|---|---|
| % | Integer | 
| & | Long | 
| ! | Single | 
| # | Double | 
| $ | String | 
| @ | Currency | 
array: declaração de matriz.
  
start, end: valores numéricos ou constantes que definem o número de elementos ( = (end-start)+1) e o intervalo de índices.
start e end podem ser expressões numéricas caso ReDim seja aplicado dentro da rotina.
O LibreOffice Basic oferece suporte a matrizes uni ou multidimensionais que sejam definidas por um tipo de variável especificado. As matrizes são úteis quando o programa contém listas ou tabelas que você queira editar. A vantagem das matrizes é que elas possibilitam fazer referência a elementos individuais de acordo com índices, que podem ser formulados como variáveis ou expressões numéricas.
As matrizes são declaradas com a instrução Dim. Há várias maneiras para definir o intervalo de índices:
  Dim text(20) As String ' 21 elementos numerados de 0 a 20
  Dim value(5 to 25) As Integer ' 21 valores numerados de 5 a 25
  Dim amount(-15 to 5) As Currency ' 21 montantes (incluindo 0), numerados de -15 a 5
  REM campo de dados bidimensional
  Dim table$(20,2) ' 63 itens; de 0 a 20 nível 1, de 0 a 20 nível 2 e de 0 a 20 nível 3.
Você pode declarar um tipo de vetor como dinâmico se a instrução ReDim definir o número de dimensões na sub-rotina ou na função que contém o vetor. Em geral, você só poderá definir a dimensão do vetor uma única vez e não poderá modificá-la posteriormente. Em uma sub-rotina, pode-se declarar um vetor com ReDim. Você só pode definir dimensões com expressões numéricas. Isso garante que os campos tenham apenas o tamanho estritamente necessário.
Sub ExampleDim1
Dim sVar As String
Dim iVar As Integer
    sVar = "Office"
End Sub
 
Sub ExampleDim2
  ' Campo de dados bidimensionais
    Dim stext(20,2) As String
  Const sDim as String = " Dimensão:"
  For i = 0 To 20
    For ii = 0 To 2
        stext(i,ii) = str(i) & sDim & str(ii)
    Next ii
  Next i
  For i = 0 To 20
    For ii = 0 To 2
        MsgBox stext(i,ii)
    Next ii
  Next i
End Sub