Πρόταση 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