개체의 메서드를 실행하거나 개체 의 속성을 설정하거나 반환합니다.
구문
CallByName ( object , procname, calltype [, args()])
CallByName 함수 구문에는 다음과 같은 인수가 사용됩니다.
인수 |
설명 |
개체 |
필수 요소입니다. Variant (Object). 함수를 실행할 개체의 이름입니다. |
procname |
필수 요소입니다. Variant (String). 개체의 속성 또는 메서드 이름을 포함하는 문자열 식입니다. |
calltype |
필수 요소입니다. 상수입니다. 호출되는 프로시저의 형식을 나타내는 vbCallType 형식의 상수입니다. |
args () |
선택 요소입니다. Variant (배열). |
주의
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 속성이 호출할 메서드의 이름으로 설정됩니다(이 경우 "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