執行物件的方法,或設定或回傳物件的屬性。
語法
CallByName (物件 、 procname、 calltype [, 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