Contents
Index 🔎︎

# 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