Dim Statement

声明变量或数组。

如果变量之间用逗号分隔(例如,DIM sPar1, sPar2, sPar3 AS STRING),则只能定义为变体变量。请对每个变量使用单独的定义行。

Dim sPar1 As String

Dim sPar2 As String

Dim sPar3 As String

Dim 只能声明子例程中的局部变量。要声明全局变量,需要使用 PUBLIC 或 PRIVATE 语句。

语法:

[ReDim]Dim VarName [(start To end)] [As VarType][, VarName2 [(start To end)] [As VarType][,...]]

参数:

VarName:任意变量或数组的名称。

Start、End:用于定义元素数量 (NumberElements=(end-start)+1) 和索引范围的数值或常数。

如果对过程级别采用 ReDim,则 start 和 end 可以是数字表达式。

VarType:用于声明变量的数据类型的关键字。

Keyword:变量类型

Bool:布尔变量 (True、False)

Currency:货币变量(含有 4 位小数的货币)

Date:日期变量

Double:双精度的浮点变量 (1.79769313486232 x 10E308 到 4.94065645841247 x 10E-324)

Integer:整数变量 (-32768 到 32767)

Long:长整数变量 (-2,147,483,648 到 2,147,483,647)

Object:对象变量(注:随后只能使用 Set 定义此变量!)

Single:单精度浮点变量 (3.402823 x 10E38 到 1.401298 x 10E-45)。

String:字符串变量,最多可以含有 64,000 个 ASCII 字符。

[Variant]: 变体变量类型(含有所有类型,由定义指定)。如果未指定关键字,也未使用从 DefBool 到 DefVar 的语句,变量将自动定义为变体类型。

在 LibreOffice Basic 中,您不需要显式声明变量。但是在使用数组之前必须先声明数组。您可以使用 Dim 语句声明变量,多个变量声明需要用逗号分隔。要声明变量类型,请在名称后输入类型声明字符,或者使用相应的关键字。

LibreOffice Basic 支持用指定的变量类型定义的一维和多维数组。如果要在程序中编辑列表或表格,则使用数组是最合适的,因为可以通过索引定位数组中的各个元素,而索引可以用数字表达式或变量来表述。

数组使用 Dim 语句进行声明。定义索引范围的方法有两种:

DIM text(20) as String REM 编号为 0 到 20 的 21 个元素

DIM text(5 to 25) as String REM 编号为 5 到 25 的 21 个元素

DIM text(-15 to 5) as String REM 21 个元素 (包括 0)

REM 编号为 -15 到 5

二维数据字段

DIM text(20,2) as String REM 63 个元素:级别 1 的 0 到 20;级别 2 的 0 到 20;级别 3 的 0 到 20。

如果使用 ReDim 语句在含有某个数组的子例行程序或函数中定义了维数,则可以将该数组的类型声明为动态。通常,您只能定义一次数组维数,并且定义之后不能修改。在子例行程序中,您可以使用 ReDim 声明数组。只能使用数字表达式来定义维数,这样可以确保字段为所需的大小。

示例:

Sub ExampleDim1

Dim sVar As String

Dim iVar As Integer

    sVar = "Office"

End Sub

 

Sub ExampleDim2

' 二维数据字段

Dim stext(20,2) As String

Const sDim As String = " 维度:"

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