Microsoft® Visual Basic® Scripting Edition
Η Sub

 


 


Περιγραφή
 
 

Δηλώνει το όνομα, τα ορίσματα και τον κώδικα ο οποίος σχηματίζει τον κορμό μιας διαδικασίας Sub.
 
 

Σύνταξη
 

        [Public | Private] Sub name [(arglist)]

                [statements]

        [Exit Sub]

                [statements]

        End Sub

Η σύνταξη της δήλωσης Sub αποτελείται απο τα παρακάτω μέρη :
 
 
 
ΜΕΡΟΣ ΠΕΡΙΓΡΑΦΗ
Public Δείχνει οτι η διαδικασία Sub είναι προσιτή και έχει πρόσβαση σε όλες τις υπόλοιπες διαδικασίες σε όλα τα κείμενα.
Private Δείχνει οτι η διαδικασία Sub έχει πρόσβαση μόνο στις διαδικασίες που έχουν δηλωθεί μέσα στο κείμενο.
Name Όνομα της Sub. Η ονομασία ακολουθεί τις ήδη υπάρχουσες συνθήκες ονομασίας μιας μεταβλητής
Arglist Μια λίστα μεταβλητών που θα αναπαριστά ορίσματα τα οποία μόλις καλεστεί η διαδικασία Sub θα περνούν μέσα σ’ αυτή. Πολλές μεταβλητές μαζί πρέπει να χωρίζονται μεταξύ τους με κόμματα.
Statements Οποιαδήποτε ομάδα απο δηλώσεις που εκτελούνται μέσα στον κορμό της Sub.

 

Το όρισμα arglist αποτελείται από τα ακόλουθα μέρη και συντάσσεται ως εξής :
 
 

[ByVal | ByVal] varname[( )]
 
 
 
ΜΕΡΟΣ ΠΕΡΙΓΡΑΦΗ
ByVal Δείχνει ότι το όρισμα περνά μόνο με τιμή.
ByRef Δείχνει οτι το όρισμα περνά μόνο με αναφορά.
varname Όνομα της μεταβλητής που αναπαριστά το όρισμα. Η ονομασία ακολουθεί τις ήδη υπάρχουσες συνθήκες, όρους ονομασίας μιας μεταβλητής.

 

Σχόλια
 
 

Αν δε καθορίζονται σαφώς με τη χρήση της Public ή της Private, οι διαδικασίες Sub έχουν κοινή πρόσβαση πράγμα το οποίο σημαίνει οτι είναι ορατές σε όλες τις διαδικασίες του κειμένου σας. Η τιμή των τοπικών μεταβλητών σε μια διαδικασία Sub δε διατηρείται κατα τη διάρκεια που η διαδικασία Όλος ο εκτελέσιμος κώδικας πρέπει να περιέχεται μέσα σε διαδικασίες. Δε μπορείτε να προσδιορίσετε, καθορίσετε μια διαδικασία Sub μέσα σε άλλη διαδικασία Sub ή Function .

Η δήλωση Exit Sub προκαλεί μια αυτόματη έξοδο απο μια διαδικασία Sub. Η εκτέλεση του προγράμματος συνεχίζεται με τη δήλωση που ακολουθεί τη δήλωση που κάλεσε τη διαδικασία Sub. Κατά τη διάρκεια εκτέλεσης του προγράμματος μπορεί ανα πάσα στιγμή να εμφανιστεί μια Exit Sub δήλωση.

Όπως η διαδικασία Function, έτσι και η Sub είναι μια ξεχωριστή διαδικασία που μπορεί να δεχτεί ορίσματα, να εκτελέσει μια σειρά από δηλώσεις και να αλλάξει τη τιμή τους. Παρ’ όλα αυτά, αντίθετα με τη διαδικασία Function που επιστρέφει μια τιμή, η Sub δε μπορεί να χρησιμοποιηθεί μέσα σε μια έκφραση.

Μπορείτε να καλέσετε μια διαδικασία Sub χρησιμοποιώντας το όνομα της διαδικασίας που έπεται της λίστας των ορισμάτων. Μπορείτε να δείτε τη δήλωση Call και απο κει να αντλήσετε συγκεκριμένες πληροφορίες για το πώς να καλείτε διαδικασίες Sub .
 
 
 
 

  Προσοχή! Οι διαδικασίες Sub μπορούν να επαναλαμβάνουν τον εαυτό τους (αναδρομή). Αυτό σημαίνει οτι μπορούν να καλέσουν απο μόνες τους τον εαυτό τους και να πραγματοποιήσουν, εκτελέσουν μια δεδομένη εντολή. Παρ’όλα αυτά πρέπει να είστε προσεκτικοί, γιατί η επανάληψη αυτή, μπορεί να οδηγήσει σε μια υπερχείληση. 

 

   

Οι μεταβλητές που χρησιμοποιούνται στις διαδικασίες Sub χωρίζονται σε δυο κατηγορίες, σ’ αυτές που δηλώνονται αναλυτικά μέσα στη διαδικασία και σ’ αυτές που δε δηλώνονται. Εκείνες οι μεταβλητές που ρητά δηλώνονται μέσα σε μια διαδικασία (χρησιμοποιώντας τη Dim), εμφανίζονται πάντα ως τοπικές στη διαδικασία. Εκείνες οι μεταβλητές που χρησιμοποιούνται αλλά δεν έχουν αναλυτικά δηλωθεί, εμφανίζονται επίσης ως τοπικές, εκτός αν δηλωθούν κανονικά σ’ ένα υψηλότερο επίπεδο έξω απο τη διαδικασία.
 
 

  Προσοχή! Μια διαδικασία μπορεί να χρησιμοποιήσει μια μεταβλητή η οποία δεν έχει δηλωθεί ρητά μέσα σ’αυτή, αλλά μπορεί να συμβεί ένα ονομαστικό λάθος αν επίσης χρησιμοποιηθεί οτιδήποτε άλλο στο ίδιο επίπεδο , με το ίδιο όνομα. Αν η διαδικασία σας αναφέρεται σε μια αδήλωτη μεταβλητή η οποία έχει το ίδιο όνομα όπως και σε μια άλλη διαδικασία, σταθερά ή μεταβλητή, υποτίθεται οτι η διαδικασία σας αναφέρεται στο όνομα που χρησιμοποιείται στο συγκεκριμένο επίπεδο. Για να αποφύγετε τέτοιου είδους συγχύσεις, όσον αφορά τις μεταβλητές που έχουν αναλυτικά δηλωθεί, μπορείτε να χρησιμοποιήσετε μια Option Explicit δήλωση για να πιέσετε και να αναγκάσετε το πρόγραμμα να δέχεται μόνο εκείνες τις μεταβλητές που έχουν απο πριν δηλωθεί αναλυτικά. 
   


© 1997 Microsoft Corporation. All rights reserved.