개체의 메서드를 실행하거나 개체의 속성을 설정 또는 반환합니다.
구문
CallByName(object , 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
예제
참고
VBA(Visual Basic for Applications) 모듈에서 이 함수를 사용하는 경우를 예로 들어 보겠습니다. VBA 사용에 대해 자세히 알아보려면 검색 옆의 드롭다운 목록에서 개발자 참고를 선택하고 검색 상자에 검색어를 하나 이상 입력하세요.
이 예제에서는 CallByName 함수를 사용하여 명령 단추의 Move 메서드를 호출합니다.
이 예제에서는 단추(Command1) 및 레이블(Label1)이 있는 양식(Form1)도 사용합니다. 폼이 로드되면 레이블의 Caption 속성이 호출할 메서드의 이름(이 경우 "이동")으로 설정됩니다. 단추를 클릭하면 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