Eval 함수

참고: 사용자 언어로 가능한 한 빨리 가장 최신의 도움말 콘텐츠를 제공하고자 합니다. 이 페이지는 자동화를 통해 번역되었으며 문법 오류나 부정확한 설명을 포함할 수 있습니다. 이 목적은 콘텐츠가 사용자에게 유용하다는 것입니다. 이 페이지 하단의 정보가 도움이 되었다면 알려주세요. 쉽게 참조할 수 있는 영어 문서가 여기 있습니다.

텍스트 문자열이 나 숫자 값을 생성 되는 식 계산할 Eval 함수를 사용할 수 있습니다.

문자열을 생성할 수 있으며 해당 문자열을 실제 식 처럼 Eval 함수에 전달할 수 있습니다. Eval 함수 문자열 식 계산 하 고 해당 값을 반환 합니다. 예를 들어 Eval("1 + 1") 2를 반환합니다.

함수 이름을 포함 하는 문자열을 Eval 함수에 전달 하면 Eval 함수는 함수의 반환 값을 반환 합니다. 예를 들어 Eval("Chr$(65)") "A"를 반환합니다.

구문

Eval ( stringexpr )

Stringexpr 인수는 영숫자 텍스트 문자열로 계산 되는 식입니다. 예를 들어 stringexpr 문자열이 나 숫자 값을 반환 하는 함수 될 수 있습니다. 또는 폼의 컨트롤 에 대 한 참조 될 수 있습니다. Stringexpr 인수가 문자열이 나 숫자 값으로 계산 Microsoft Access 개체 를 계산할 수 없습니다.

참고: VBA(Visual Basic for Applications) 모듈에서 이 함수를 사용하는 경우를 예로 들어 보겠습니다. VBA 사용에 대해 자세히 알아보려면 검색 옆의 드롭다운 목록에서 개발자 참고를 선택하고 검색 상자에 검색어를 하나 이상 입력하세요.

참고: 함수 이름을 Eval 함수에 전달 하는 경우에 stringexpr 인수에서 함수 이름 뒤 괄호를 포함 해야 합니다. 예를 들어:

' ShowNames is user-defined function.
Debug.Print Eval("ShowNames()")

Debug.Print Eval("StrComp(""Joe"",""joe"", 1)")

Debug.Print Eval("Date()")

주의

Eval 함수는 계산된 컨트롤 폼 이나 보고서 또는 매크로 또는 모듈에서에서 사용할 수 있습니다. Eval 함수를 반환 합니다.를 Variant 문자열이 나 숫자 형식입니다.

인수 stringexpr 문자열에 저장 되는 식 이어야 합니다. Eval 함수는 숫자 식 또는 함수 이름을 포함 되어 있지 않습니다는 간단한 텍스트 문자열을 전달 하면 런타임 오류 발생 합니다. 예를 들어 Eval("Smith") 오류가 발생 합니다.

컨트롤의 속성에 저장 된 값을 결정 Eval 함수를 사용할 수 있습니다. 다음 예제에서는 Eval 함수에 컨트롤에 대 한 전체 참조를 포함 하는 문자열을 전달 합니다. 그런 다음 대화 상자에서 컨트롤의 현재 값을 표시 합니다.

Dim ctl As Control
Dim strCtl As String
Set ctl = Forms!Employees!LastName
strCtl = "Forms!Employees!LastName"
MsgBox ("The current value of " & ctl.Name & _
" is " & Eval(strCtl))

Visual Basic for Applications (VBA) 모듈에서에서 일반적으로 사용할 수 없는 식 연산자에 액세스 하려면 Eval 함수를 사용할 수 있습니다. 예를 들어 사이의 SQL 연산자를 사용할 수 없습니다... 및에서 수 있지만 사용자 코드에서 직접 수에서 사용 하 여 해당 Eval 함수에 전달 하는 식입니다.

다음 예에서는 Orders 폼에서 ShipRegion 컨트롤의 값 여러 지정된 상태 약어 중 하나 인지 확인 합니다. 필드의 약자로 있으면 intStateTrue (-1) 됩니다. 작은따옴표 (')를 사용 하 여 다른 문자열 내에서 문자열을 포함 하려면 note 합니다.

Dim intState As Integer
intState = Eval("Forms!Orders!ShipRegion In " _
& "('AK', 'CA', 'ID', 'WA', 'MT', 'NM', 'OR')")

예제

다음 예제에서는 A1, A2, 등과 같이 정의 50 함수의 되풀이 있다고 가정 합니다. 이 예제에서는 Eval 함수를 사용 하 여 계열의 각 함수 호출 합니다.

Sub CallSeries()
Dim intI As Integer
For intI = 1 To 50
Eval("A" & intI & "()")
Next intI
End Sub

다음 예제에서는 사용자가 양식에서 단추를 클릭 한 것 처럼 Click 이벤트를 트리거하 합니다. Eval 함수 이름을 이름임 단추의 OnClick 속성의 값이 등호 (=)로 시작 하는 경우 함수를 호출 함수, Click 이벤트를 트리거하는 것과 같습니다. 값 등호로 시작 되지 않으면, 값 매크로 이름을 지정 해야 합니다. RunMacro 메서드 DoCmd 개체의 명명 된 매크로 실행합니다.

Dim ctl As Control
Dim varTemp As Variant
Set ctl = Forms!Contacts!HelpButton
If (Left(ctl.OnClick, 1) = "=") Then
varTemp = Eval(Mid(ctl.OnClick,2))
Else
DoCmd.RunMacro ctl.OnClick
End If
Office 기술 확장
교육 살펴보기
새로운 기능 우선 가져오기
Office Insider 참여

이 정보가 유용한가요?

의견 주셔서 감사합니다!

피드백을 주셔서 감사합니다. Office 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×