Mengeksekusi metode objek, atau mengatur atau mengembalikan properti objek.
Sintaks
CallByName(objek , procname, tipe panggilan [, args()])
Sintaks fungsi CallByName memiliki argumen berikut:
| Argumen | Deskripsi |
|---|---|
| objek | Diperlukan. varian (objek). Nama objek tempat fungsi akan dijalankan. |
| procname | Diperlukan. varian (string). Ekspresi string yang berisi nama properti atau metode objek. |
| tipe panggilan | Diperlukan. Konstan. Konstanta tipe vbCallType yang mewakili tipe prosedur yang dipanggil. |
| argumen() | Opsional. varian (array). |
Keterangan
Fungsi CallByName digunakan untuk mendapatkan atau mengatur properti, atau untuk memanggil metode saat proses menggunakan nama string.
Dalam contoh berikut, baris pertama menggunakan CallByName untuk mengatur properti MousePointer dari kotak teks, baris kedua mendapatkan nilai properti MousePointer , dan baris ketiga memanggil metode Move untuk memindahkan kotak teks:
CallByName Text1, "MousePointer", vbLet, vbCrosshair
Result = CallByName (Text1, "MousePointer", vbGet)
CallByName Text1, "Move", vbMethod, 100, 100
Contoh
Catatan
Contoh yang mengikuti demonstrasi penggunaan fungsi ini dalam modul Visual Basic for Applications (VBA). Untuk informasi selengkapnya tentang bekerja dengan VBA, pilih Referensi Pengembang di daftar turun bawah di samping Cari dan masukkan satu istilah atau lebih di kotak pencarian.
Contoh ini menggunakan fungsi CallByName untuk memanggil metode Move dari tombol perintah.
Contoh ini juga menggunakan formulir (Form1) dengan tombol (Command1), dan label ().Label1 Saat formulir dimuat, properti Caption label diatur ke nama metode yang akan dipanggil, dalam hal ini, "Pindahkan". Saat Anda mengklik tombol, fungsi CallByName memanggil metode untuk mengubah lokasi tombol.
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