Załaduj wielowymiarową tablicę VBA z dysku

Próbuję zapisać, a następnie załadować wielowymiarową tablicę VBA do / z dysku. WedługStrona internetowa MSDN, liczba wymiarów jest zapisywana jako deskryptor w pliku, ale nie wiem, jak je uzyskać / załadować. Poniższy przykład działa, ale tylko dlatego, że mam zakodowane wymiary tablicy. Skomentowana linia działa w sensie dynamicznym, ale wymiary tablicy są tracone w procesie.

Oto przykładowy kod:

Sub WriteArray()
Dim file_name As String
Dim file_length As Long
Dim fnum As Integer

Dim values() As Boolean
ReDim values(1 To 5, 1 To 10, 1 To 20)

Dim i As Integer 'Populate the simple array
    For i = 1 To 20
    values(1, 1, i) = True
Next

' Delete existing file (if any).
file_name = "array.to.file.vba.bin"
On Error Resume Next
Kill file_name
On Error GoTo 0

' Save the file.
fnum = FreeFile
Open file_name For Binary As #fnum
Put #fnum, 1, values
Close fnum

End Sub

Sub ReadArray()
Dim file_name As String
Dim file_length As Long
Dim fnum As Integer
Dim newArray() As Boolean

file_name = "array.to.file.vba.bin" 'txtFile.Text"
fnum = FreeFile

file_length = FileLen(file_name)
'ReDim newArray(1 To file_length) 'This loads the data, but not with the right dimensions.

ReDim newArray(1 To 5, 1 To 10, 1 To 20) 'This works but with dimensions hard coded.

'How to re-dim here using the dimensions saved in the file?

Open file_name For Binary As #fnum
Get #fnum, 1, newArray
Close fnum

End Sub

Muszę przyznać kredyt stronie VB Helper, ponieważ powyższy przykład opiera się na tym, który opublikowałtutaj.

questionAnswers(1)

yourAnswerToTheQuestion