Hallo Reinhard.
Also, das Einlesen einer Datei auf einen Rutsch kann ich Dir nicht sagen, es sei denn, Du meinst, daß in dieser Datei ein Array gespeichert ist, das eingelesen werden soll. Das würde dann so gehen:
In einem Modul
Public MeinArray() As Variant
Public Type ArrayDatei
Dim1Count As Long
Dim2Count As Long
End Type
Sub Array\_Einlesen()
On Error GoTo BeiNullAnfangen
FehlerAusloeser = FileLen("C:\MeineArrayDatei.dat")
'Wenn die Datei noch gar nicht existiert, muß an dieser
'Stelle bereits ein Fehler ausgelöst werden, da sonst die
'Datei erstellt wird und der Fehler dann bei ReDim auftritt,
'was wiederum zur Folge hätte, daß die dann erstellte Datei
'nicht mehr geschlossen wird, und das führt dann wiederum
'dazu, daß beim Auslesen die Fehlermeldung "Datei bereits geöffnet" kommt
'(und diesen Fehler habe ich wirklich seeeeeehr lange gesucht).
FileArray = FreeFile
Open "C:\MeineArrayDatei.dat" For Binary As FileArray
Get FileArray, , ArrayDatei.Dim1Count 'Liest die Anzahl der Einträge in der 1. Array-Dimension
Get FileArray, , ArrayDatei.Dim2Count 'Liest die Anzahl der Einträge in der 2. Array-Dimension
ReDim MeinArray(0 To ArrayDatei.Dim1Count - 1, 0 to ArrayDatei.Dim2Count - 1)
Get FileArray, , MeinArray
Close FileArray
Exit Sub
BeiNullAnfangen:
With ArrayDatei
.Dim1Count = 0 'Ist ja eigentlich sowieso 0, aber es geht ja um's Prinzip
.Dim2Count = 0
End With
End Sub
Sub Array\_Auslesen()
FileArray = FreeFile
Open "C:\MeineArrayDatei.dat" For Binary As FileArray
Put FileArray, , ArrayDatei.Dim1Count
Put FileArray, , ArrayDatei.Dim2Count
Put FileArray, , MeinArray
Close FileArray
End Sub
Du hast sicher gemerkt, daß ich Option Explicit nicht verwende.
Viele Grüße
Carsten