개체의 메서드를 실행하거나 개체 의 속성을 설정하거나 반환합니다.
구문
CallByName ( object , procname, calltype [, args()])
CallByName 함수 구문에는 다음과 같은 인수가 사용됩니다.
|
인수 |
설명 |
|
개체 |
필수 요소입니다. Variant (Object). 함수를 실행할 개체의 이름입니다. |
|
procname |
필수 요소입니다. Variant (String). 개체의 속성 또는 메서드 이름을 포함하는 문자열 식입니다. |
|
calltype |
필수 요소입니다. 상수입니다. 호출되는 프로시저의 형식을 나타내는 vbCallType 형식의 상수입니다. |
|
args () |
선택 요소입니다. Variant (배열). |
주의
CallByName 함수는 속성을 얻거나 설정하거나 문자열 이름을 사용하여 런타임에 메서드를 호출하는 데 사용됩니다.
다음 예제에서 첫 번째 줄은 CallByName 을 사용하여 텍스트 상자의 MousePointer 속성을 설정하고, 두 번째 줄은 MousePointer 속성의 값을 가져오고, 세 번째 줄은 Move 메서드를 호출하여 텍스트 상자를 이동합니다.
CallByName Text1, "MousePointer", vbLet, vbCrosshairResult = CallByName (Text1, "MousePointer", vbGet)CallByName Text1, "Move", vbMethod, 100, 100
예제
참고: VBA(Visual Basic for Applications) 모듈에서 이 함수를 사용하는 경우를 예로 들어 보겠습니다. VBA 사용에 대해 자세히 알아보려면 검색 옆의 드롭다운 목록에서 개발자 참고를 선택하고 검색 상자에 검색어를 하나 이상 입력하세요.
이 예제에서는 CallByName 함수를 사용하여 명령 단추의 Move 메서드를 호출합니다.
이 예제에서는 단추(Command1)와 레이블(Label1)이 있는 폼(Form1)도 사용합니다. 폼이 로드되면 레이블의 Caption 속성이 호출할 메서드의 이름으로 설정됩니다(이 경우 "Move"). 단추를 클릭하면 CallByName 함수가 메서드를 호출하여 단추의 위치를 변경합니다.
Option ExplicitPrivate Sub Form_Load() Label1.Caption = "Move"' Name of Move method.End SubPrivate Sub Command1_Click()If Command1.Left <> 0 Then CallByName Command1, Label1.Caption, vbMethod, 0, 0Else CallByName Command1, Label1.Caption, vbMethod, 500, 500End If