Menjalankan metode objek, atau mengatur atau mengembalikan properti dari objek.
Sintaks
CallByName ( object , procname, calltype [, args()])
Sintaks fungsi CallByName memiliki argumen ini:
Argumen |
Deskripsi |
objek |
Diperlukan. Varian (Objek). Nama objek tempat fungsi akan dijalankan. |
namaprocname |
Diperlukan. Varian (String). Ekspresi string yang berisi nama properti atau metode objek. |
tipe-panggilan |
Diperlukan. Konstanta. Konstanta tipe vbCallType mewakili tipe prosedur yang sedang dipanggil. |
args () |
Opsional. Varian (Array). |
Keterangan
Fungsi CallByName digunakan untuk mendapatkan atau mengatur properti, atau untuk menjalankan metode pada waktu proses menggunakan nama string.
Dalam contoh berikut, baris pertama menggunakan CallByName untuk mengatur properti MousePointer kotak teks, baris kedua mendapatkan nilai properti MousePointer , dan baris ketiga memanggil metode Pindahkan 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 menerapkan metode Pindahkan dari tombol perintah.
Contoh ini juga menggunakan formulir (Form1) dengan tombol (Command1), dan label (Label1). Ketika formulir dimuat, properti Keterangan label diatur ke nama metode yang akan dijalankan, 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