Πρόταση Open
Ανοίγει ένα κανάλι δεδομένων.
Σύνταξη:
Ανοίγει ένα ΌνομαΑρχείου ως συμβολοσειρά [για λειτουργία] [Access IOMode] [προστατευμένο] ως [#]ΑριθμόςΑρχείου ως Ακέραιος [Len = ΜήκοςΟρισμούΔεδομένων]
Παράμετροι:
ΌνομαΑρχείου: Όνομα και διαδρομή του αρχείου που πρόκειται να ανοιχθεί. Αν το αρχείο δεν υπάρχει όταν το ανοίγετε για ανάγνωση (Πρόσβαση = Ανάγνωση), τότε εμφανίζεται ένα μήνυμα σφάλματος. Αν ανοίξετε ένα ανύπαρκτο αρχείο για εγγραφή (Πρόσβαση = Εγγραφή), τότε δημιουργείται ένα νέο αρχείο.
Λειτουργία Λέξη-κλειδί που προσδιορίζει την κατάσταση του αρχείου. Έγκυρες τιμές: Append (προσάρτηση σε διαδοχικό αρχείο), binary (τα δεδομένα μπορούν να προσπελαστούν από οκτάδες χρησιμοποιώντας Get και Put), Input (ανοίγει κανάλι δεδομένων για ανάγνωση), Output (ανοίγει κανάλι δεδομένων για εγγραφή), και Random (επεξεργάζεται σχετικά αρχεία).
IOMode: Λέξη-κλειδί που προσδιορίζει τον τύπο προσπέλασης. Έγκυρες τιμές: Read (Μόνο για ανάγνωση), Write (Μόνο για εγγραφή), Read Write (και τα δύο).
Προστατευμένο: Λέξη-κλειδί που προσδιορίζει την κατάσταση ασφαλείας του αρχείου μετά το άνοιγμα. Έγκυρες τιμές: Shared (το αρχείο μπορεί να ανοιχτεί και από άλλες εφαρμογές), Lock Read (το αρχείο είναι προστατευμένο από ανάγνωση), Lock Write (το αρχείο είναι προστατευμένο από εγγραφή), Lock Read Write (απαγορεύει την προσπέλαση του αρχείου).
ΑριθμόςΑρχείου: Κάθε παράσταση ακέραιου που κυμαίνεται από 0-511 και υποδεικνύει τον αριθμό ελεύθερου καναλιού δεδομένων. Μπορείτε έπειτα να περάσετε εντολές μέσα από το κανάλι δεδομένων για να προσπελάσετε το αρχείο. Ο αριθμός του αρχείου θα πρέπει να οριστεί αμέσως πριν την συνάρτηση FreeFile πριν την πρόταση Open.
ΜήκοςΟρισμούΔεδομένων Για αρχεία τυχαίας προσπέλασης, καθορίζει το μήκος των εγγραφών.
Μπορείτε μόνο να τροποποιήσετε τα περιεχόμενα ενός αρχείου που ανοίχτηκε με την πρόταση Open. Αν προσπαθήσετε να ανοίξετε ένα αρχείο που είναι ήδη ανοιγμένο, θα εμφανιστεί ένα μήνυμα σφάλματος.
Παράδειγμα:
Sub ExampleWorkWithAFile
Dim iNumber As Integer
Dim sLine As String
Dim aFile As String
Dim sMsg As String
aFile = "c:\data.txt"
iNumber = Freefile
Open aFile For Output As #iNumber
Print #iNumber, "Αυτή είναι μια γραμμή κειμένου"
Print #iNumber, "Αυτή είναι μια άλλη γραμμή κειμένου"
Close #iNumber
iNumber = Freefile
Open aFile For Input As iNumber
While Not eof(iNumber)
Line Input #iNumber, sLine
If sLine <>"" Then
sMsg = sMsg & sLine & chr(13)
End If
Wend
Close #iNumber
MsgBox sMsg
End Sub