Εκτελεί μια μέθοδο ενός αντικειμένου ή ορίζει ή επιστρέφει μια ιδιότητα ενός αντικειμένου.
Σύνταξη
CallByName(αντικείμενο , procname, calltype [, args()])
Η σύνταξη της συνάρτησης CallByName έχει τα εξής ορίσματα:
| Επιχείρημα | Περιγραφή |
|---|---|
| αντικείμενο | Υποχρεωτικό. Παραλλαγή (αντικείμενο). Το όνομα του αντικειμένου στο οποίο θα εκτελεστεί η λειτουργία. |
| procname | Υποχρεωτικό. Μεταβλητή (συμβολοσειρά). Μια παράσταση συμβολοσειράς που περιέχει το όνομα μιας ιδιότητας ή μεθόδου του αντικειμένου. |
| calltype | Υποχρεωτικό. Σταθερά. Σταθερά τύπου vbCallType που αντιπροσωπεύει τον τύπο της διαδικασίας που καλείται. |
| args() | Προαιρετικό. Μεταβλητή (πίνακας). |
Παρατηρήσεις
Η συνάρτηση CallByName χρησιμοποιείται για τη λήψη ή τον ορισμό μιας ιδιότητας ή για την κλήση μιας μεθόδου κατά το χρόνο εκτέλεσης χρησιμοποιώντας ένα όνομα συμβολοσειράς.
Στο παρακάτω παράδειγμα, η πρώτη γραμμή χρησιμοποιεί την ιδιότητα CallByName για να ορίσει την ιδιότητα MousePointer ενός πλαισίου κειμένου, η δεύτερη γραμμή λαμβάνει την τιμή της ιδιότητας MousePointer και η τρίτη γραμμή καλεί τη μέθοδο Move για να μετακινήσει το πλαίσιο κειμένου:
CallByName Text1, "MousePointer", vbLet, vbCrosshair
Result = CallByName (Text1, "MousePointer", vbGet)
CallByName Text1, "Move", vbMethod, 100, 100
Παράδειγμα
Σημείωση
Τα παραδείγματα που ακολουθούν δείχνουν τη χρήση αυτής της συνάρτησης σε μια λειτουργική μονάδα Visual Basic for Applications (VBA). Για περισσότερες πληροφορίες σχετικά με την εργασία με τη VBA, επιλέξτε " Αναφορά προγραμματιστών " στην αναπτυσσόμενη λίστα δίπλα στην επιλογή "Αναζήτηση " και εισαγάγετε έναν ή περισσότερους όρους στο πλαίσιο αναζήτησης.
Αυτό το παράδειγμα χρησιμοποιεί τη συνάρτηση CallByName για να καλέσει τη μέθοδο Move ενός κουμπιού εντολής.
Το παράδειγμα χρησιμοποιεί επίσης μια φόρμα (Form1) με ένα κουμπί (Command1) και μια ετικέτα ().Label1 Όταν φορτωθεί η φόρμα, η ιδιότητα "Λεζάντα " της ετικέτας ορίζεται στο όνομα της μεθόδου κλήσης, σε αυτήν την περίπτωση, της λέξης "Μετακίνηση". Όταν κάνετε κλικ στο κουμπί, η συνάρτηση CallByName καλεί τη μέθοδο για να αλλάξετε τη θέση του κουμπιού.
Option Explicit
Private Sub Form_Load()
Label1.Caption = "Move"' Name of Move method.
End Sub
Private Sub Command1_Click()
If Command1.Left <> 0 Then
CallByName Command1, Label1.Caption, vbMethod, 0, 0
Else
CallByName Command1, Label1.Caption, vbMethod, 500, 500
End If