Thực thi một phương thức của đối tượng hoặc đặt hay trả về một thuộc tính của đối tượng.
Cú pháp
CallByName(object , procname, calltype [, args()])
Cú pháp hàm CallByName có các đối số sau đây:
| Đối số | Mô tả |
|---|---|
| đối tượng | Bắt buộc. Variant (object). Tên đối tượng mà hàm sẽ được thực thi. |
| Procname | Bắt buộc. Variant (Chuỗi). Một biểu thức chuỗi chứa tên của một thuộc tính hoặc phương pháp của đối tượng. |
| kiểu cuộc gọi | Bắt buộc. Hằng số. Một hằng số thuộc loại vbCallType thể hiện loại thủ tục được gọi. |
| args() | Không bắt buộc. Variant (array). |
Chú thích
Hàm CallByName được sử dụng để tải hoặc đặt thuộc tính hoặc để gọi ra phương thức vào thời gian chạy bằng cách sử dụng tên chuỗi.
Trong ví dụ sau đây, dòng đầu tiên sử dụng CallByName để đặt thuộc tính MousePointer của hộp văn bản, dòng thứ hai nhận giá trị của thuộc tính MousePointer và dòng thứ ba gọi ra phương pháp Move để di chuyển hộp văn bản:
CallByName Text1, "MousePointer", vbLet, vbCrosshair
Result = CallByName (Text1, "MousePointer", vbGet)
CallByName Text1, "Move", vbMethod, 100, 100
Ví dụ
Lưu ý
Các ví dụ sau thể hiện cách sử dụng hàm này trong mô-đun Visual Basic for Applications (VBA). Để biết thêm thông tin về cách làm việc với VBA, chọn Tham khảo dành cho Nhà phát triển trong danh sách thả xuống cạnh Tìm kiếm, rồi nhập một hoặc nhiều từ vào hộp tìm kiếm.
Ví dụ này sử dụng hàm CallByName để gọi phương pháp Move của nút lệnh.
Ví dụ này cũng sử dụng biểu mẫu (Form1) với nút (),Command1 và nhãn (Label1). Khi biểu mẫu được tải, thuộc tính Chú thích của nhãn được đặt thành tên của phương thức cần gọi, trong trường hợp này là "Di chuyển". Khi bạn bấm vào nút đó, hàm CallByName sẽ gọi ra phương pháp để thay đổi vị trí của nút.
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