ReDim Statement

宣告變數或陣列。

語法

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

您也可以選擇增加 Preserve 關鍵字作為參數,保留已重設尺寸的陣列內容。

參數:

VarName:任意變數或陣列名稱。

Start, End: 用於定義元素數量的數值或常數 (NumberElements=(end-start)+1) 和索引範圍。

如果在程序層級採用 ReDim,則 Start 和 End 可以是數值型表示式。

VarType:用於宣告變數的資料類型的關鍵字。

Keyword:變數類型

Bool:布林型變數 (True (真)、False (假))

Date:日期型變數

Double:雙精度型浮點變數 (1.79769313486232 x 10E308 到 4.94065645841247 x 10E-324)

Integer:整數型變數 (-32768 - 32767)

Long:長型整數變數 (-2.147.483.648 - 2.147.483.647)

Objec:物件型變數 (隨後僅能使用 Set 來定義此變數!)。

[Single]:單精度型浮點變數 (3.402823 x 10E38 - 1.401298 x 10E-45)。如果未指定關鍵字,則變數將被定義為單精度型,直到使用 DefBool、DefVar 等陳述式為止。

String:最多可以含有 64,000 個 ASCII 字元的字串型變數。

Variant:變體變數類型 (可包含所有類型並由定義設定)。

在 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

如果在程序級的子常式或函式中透過 ReDim 確定了變數欄位的大小,則無論何種類型,這些變數欄位均可以成為動態欄位。通常,您只能設定一次陣列範圍,且設定之後不能修改。在程序中,您可以使用 ReDim 陳述式透過數值型表示式來定義欄位大小的取值範圍。

示例:

Sub ExampleRedim

Dim iVar() As Integer, iCount As Integer

ReDim iVar(5) As Integer

For iCount = 1 To 5

    iVar(iCount) = iCount

Next iCount

ReDim iVar(10) As Integer

For iCount = 1 To 10

    iVar(iCount) = iCount

Next iCount

End Sub