Hàm CallByName

Áp dụng cho
Access cho Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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