CallByName 函式

套用到
Microsoft 365 Access Access 2024 Access 2021 Access 2019 Access 2016

執行物件的方法,或設定或回傳物件的屬性。

語法

CallByName (物件procnamecalltype [, args () ])

CallByName 函式語法包含以下參數:

引數 描述
物件 必要。 變體 (物件) 。 函式將執行的物件名稱。
Procname 必要。 弦 ) (變體。 一個包含物件屬性名稱或方法名稱的字串表達式。
通話類型 必要。 持續不斷。 一個類型為 vbCallType 的常數,代表被呼叫的程序類型。
ARGS () 可省略。 變體 (陣列) 。

    

註解

CallByName 函式用於取得或設定屬性,或在執行時使用字串名稱呼叫方法。

以下範例中,第一行使用 CallByName 設定文字框的 MousePointer 屬性,第二行取得 MousePointer 屬性的值,第三行則呼叫 Move 方法移動文字框:

CallByName Text1, "MousePointer", vbLet, vbCrosshair
Result = CallByName (Text1, "MousePointer", vbGet)
CallByName Text1, "Move", vbMethod, 100, 100

範例

注意

下列範例示範如何在 Visual Basic for Applications (VBA) 模組中使用此函數。 如需使用 VBA 的詳細資訊,請在 [搜尋] 旁的下拉式清單中選取 [開發人員參考],並在 [搜尋] 方塊中輸入一個或多個字詞。

此範例使用 CallByName 函式來呼叫命令按鈕的 Move 方法。

範例中也使用了) (Form1 表單, (Command1) 按鈕,以及) (Label1 標籤。 當表單載入時,標籤的 Caption 屬性會設定為要呼叫的方法名稱,在此例中為「Move」。 當你點擊按鈕時, CallByName 函式會呼叫改變按鈕位置的方法。

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