Thực thi một phương pháp của một đối tượng hoặc đặt hay trả về thuộc tính của một đối tượng đố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 của đối tượng mà hàm sẽ được thực thi trên đó. |
tên procname |
Bắt buộc. Biến _thể (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ố. Hằng số loại vbCallType đại diện cho loại thủ tục được gọi. |
args () |
Không bắt buộc. Biến _thể (Mảng). |
Chú thích
Hàm CallByName được sử dụng để lấy hoặc đặt thuộc tính hoặc để gọi một phương pháp tại thời gian chạy bằng cách 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 sẽ gọi phương pháp Di chuyển để 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 ra phương pháp Di chuyển của nút lệnh.
Ví dụ này cũng sử dụng một biểu mẫu (Form1) với một nút (Command1), và một 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 pháp để 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 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